我在php和mysql中使用测验Web应用程序,我有一个用户表和quizes表,管理员可以访问一个带有quizes名称的表和一个除了每个测验之外的复选框...
让我们说10个quizes编号从1到10,其中每一个对应于mysql中的一个测验,
当您单击测验旁边的复选框并点击SEND时,该特定测验可用于某个用户(在我之前已选择的页面上)但在同一页面上我想要输入带有时间的输入字段一个日期,该测验只能从当前时间到输入日期和时间....
用户表有一个名为is_available的每个测验的列,默认为零,我希望在选择该用户和测验时将该值更改为1,并在日期过后将其更改为零。
我一直在考虑如何做到这一点,但我不知道任何想法或指导方针去哪里或如何开始这样做???我需要heeeelp!和合
答案 0 :(得分:0)
好吧,您将从包含所有字段的表单开始,并指向另一个与您的数据库通信的PHP脚本。然后,另一个PHP脚本将读取表单数据(通过$ _POST或$ _GET)并与数据库通信。然后它会根据此输出标记,形成输出页面。
这是一般骨架。如果你想要特定的细节,我建议你尝试尽可能多地实现,即使它是一个框架,然后发布,这将给其他人更多的工作。
答案 1 :(得分:0)
您可以使用MySQL
,PHP
和CRON
首先,创建一个关系表 -
CREATE TABLE `test_expiry` (
`userid` int(2) unsigned NOT NULL, // user that is taking the test
`testid` int(2) unsigned NOT NULL, // test number
`expires` datetime NOT NULL); // date/time test will expire
//change names/types as needed / to match your db structure
其次,设置is_available
= 1时,将该测试添加到test_expiry
表
INSERT INTO `test_expiry` (`userid`,`testid`,`expires`) VALUES (:userid,:testid,:expires)
第三,如果日期/时间已经过去,创建一个将更新is_available
= 0的php页面。
SELECT `userid`, `testid` FROM `test_expiry` WHERE `expires` < NOW()
foreach row above ...
UPDATE `tests` SET `is_available` = 0 WHERE `userid` = :userid AND `testid` = :testid
最后,建立一个cron工作 -
* * * * * [/path/to/php/]php /path/to/your/script/update.php