我正在嘗試將投票系統整合到一個註冊用戶每天只能投票一次的網站中。所以假設他如果在今天晚上10點投票,然後明天上午10點投票,他可以投票,但他不能在同一天再投票。我如何使用php,mysql來實現這個功能。我沒有任何特定的代碼。日期時間幫助php
0
A
回答
-3
嗯,你可以這樣做:
/* Assuming $timestamp to be the timestamp of the latest vote of the user */
$datenow = date("m.d.y");
$datetimestamp = date("m.d.y", $timestamp);
if ($datenow != $datetimestamp) { /* user can vote */ }
1
在桌子上使用的唯一鍵用來保存選票,是這樣的:
CREATE TABLE vote (
`Id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`UserId` int(10) unsigned NOT NULL,
`Selection` tinyint(3) unsigned NOT NULL,
`VotedDate` date NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY (`UserId`,`VotedDate`)
);
您可以檢查此防止重複投票簡單:
mysql> insert into vote (UserId, Selection, VotedDate) values (1, 2, now());
Query OK, 1 row affected, 1 warning (0.01 sec)
mysql> insert into vote (UserId, Selection, VotedDate) values (1, 2, now());
ERROR 1062 (23000): Duplicate entry '1-2011-06-11' for key 'UserId'
0
這是一般的想法,因爲這似乎是你在之後:
- 當註冊用戶投票時,將投票作爲一行存儲在數據庫中,用戶的ID,被投票的項目的ID以及當前時間。
- 用戶下一次投票 - 讓他們再次對同一項目進行投票時,檢查他們最後一次投票的時間(通過用戶ID和項目ID查找),並查看是否超過24小時前。如果不是,請不要接受投票。
在這種情況下,時區無關緊要,因爲您總是使用系統時間。
+0
這裏我也應該檢查系統日期。 – JABD 2011-06-11 19:27:12
相關問題
- 1. PHP日期/時間幫助/
- 2. 日期時間函數幫助informix
- 3. 日期時間戳所需的幫助
- 4. mysql日期時間查詢幫助?
- 5. php日期格式幫助
- 6. 使用PHP驗證日期/時間的幫助如果語句
- 7. 使用javascript顯示php時間/日期函數的幫助
- 8. 需要php和sql日期時間幫助
- 9. usort日期幫助
- 10. PHP:這個日期格式化幫助
- 11. PHP:幫助取代日期文本
- 12. 幫助,PHP日期和循環
- 13. 需要幫助格式化Google API的日期時間時區
- 14. PHP日期時間
- 15. 幫助日期格式
- 16. javascript幫助日期/顯示
- 17. 修改日期幫助
- 18. 幫助日期格式
- 19. SQL幫助與日期
- 20. Android日期格式幫助
- 21. 日期函數幫助
- 22. SQL幫助(日期函數)
- 23. PHP MYSQL日期,時間,日期時間和時間戳
- 24. 幫助w/Codeigniter會話過期時間
- 25. 我混淆了datatimepickers和日期時間。需要一些幫助
- 26. Mvc 3自定義幫助器,日期時間
- 27. SQL套管幫助日期時間條款
- 28. 需要幫助解析JavaScript中的日期和時間!
- 29. 需要幫助的日期時間操縱在Python
- 30. 幫助javascript的日期時間選擇器驗證
@downvoters介意解釋一下嗎? – Shoe 2014-05-08 18:16:27