我正在尝试将投票系统整合到一个注册用户每天只能投票一次的网站中。所以假设他如果在今天晚上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. mysql日期时间查询帮助?
- 3. php日期格式帮助
- 4. 使用javascript显示php时间/日期函数的帮助
- 5. 使用PHP验证日期/时间的帮助如果语句
- 6. usort日期帮助
- 7. PHP:这个日期格式化帮助
- 8. PHP:帮助取代日期文本
- 9. 帮助,PHP日期和循环
- 10. 需要帮助格式化Google API的日期时间时区
- 11. Android日期格式帮助
- 12. 修改日期帮助
- 13. 帮助日期格式
- 14. SQL帮助(日期函数)
- 15. 日期函数帮助
- 16. 我混淆了datatimepickers和日期时间。需要一些帮助
- 17. SQL帮助... CONVERT(INT,CONVERT(日期时间,FLOOR(CONVERT(浮动,GETDATE())))
- 18. Flex日期和时间股票图表(HOLC) - 需要帮助
- 19. 需要帮助解析JavaScript中的日期和时间!
- 20. MySQL的日期和时间戳比较帮助
- 21. 查询帮助获取准确日期时间差
- 22. 帮助javascript的日期时间选择器验证
- 23. 帮助日期时间格式,我需要
- 24. 对日期和时间范围的SQL帮助
- 25. 帮助w/Codeigniter会话过期时间
- 26. 可以帮助我获取日期帮手旧的PHP
- 27. 帮助,php日历链接
- 28. PHP存储时间为var帮助!
- 29. PHP比较日期时间
- 30. PHP日期时间DST
@downvoters介意解释一下吗? – Shoe 2014-05-08 18:16:27