PHP / MySQL:检查之前是否输出数据,如果是,则输出不同的数据

时间:2012-12-12 05:31:49

标签: php mysql random

我正在研究一些PHP / MySQL代码,它们随机输出从数据库中选择的数据。

例如,我的数据库表包含Months,Days和Events的值。

我运行此查询:

SELECT event_id, month, day_num, event FROM mytable WHERE month = DATE_FORMAT(CURDATE(), '%M') AND day_num = DAY(CURDATE());

查询返回几个结果:

event_id:1388 月:'十二月' 第12天 事件:'没有发生任何重大事件。'

event_id:1389 月:'十二月' 第12天 事件:'这是平安无事的一天。'

event_id:1390 月:'十二月' 第12天 事件:'和平安静'

event_id:1391 月:'十二月' 第12天 事件:'相同的老。'

我想将其中一个结果输出到浏览器中,然后单击一个按钮并输出另一个结果。我想确保每次单击一个按钮时,浏览器中的输出与之前的输出不同。

例如,如果当前输出的event_id是1388,我想确保当我单击该按钮时,event_id 1388不会被加载。

感谢您提供一些专业建议。

1 个答案:

答案 0 :(得分:2)

如果您需要它,可以使用limit作为

SELECT 
event_id, 
`month`, 
day_num, 
event 
FROM mytable 
WHERE month = DATE_FORMAT(CURDATE(), '%M') AND day_num = DAY(CURDATE()) 

limit from,1;

此处from是1表示点击,2表示第二个,3表示第三个,依此类推。

您将在一个方法中执行此查询,该方法将接收from作为参数 在您的前端,页面加载时将变量初始化为0
根据您的问题,当用户点击按钮时,
在按钮上设置onclick事件,将变量增加1
将此变量传递给查询数据库的方法 因此,对于每次点击,您都会获得新记录。

from,1表示我们需要来自rownumber的一行。