我有一个表,我想从中选择一行并显示给用户。每周我都想让网站自动随机抽取另一行。所以,基本上我希望每周都能得到新的结果,而不是每次用户访问页面。
我正在使用此代码:
$res = mysql_query("SELECT COUNT(*) FROM fruit");
$row = mysql_fetch_array($res);
$offset = rand(0, $row[0]-1);
/* the first three lines to pick a row randomly from the table */
$res = mysql_query("SELECT * FROM fruit LIMIT $offset, 1");
$row = mysql_fetch_assoc($res);
这段代码在用户每次访问页面时都会得到一个新的结果,并且在每次刷新之后,会选择另一个随机行。我想让它每周更新,结果是相同的每个用户。它们是一个php命令吗?如果是,它是如何工作的?
最佳答案
我的建议如下:
存储随机结果id
并且timestamp
是某种其他类型的持久存储(文件、数据库表等)。
设置cron作业或其他自动任务以每周更新以上记录。如果您没有访问此类解决方案的权限,可以编写代码在每次加载页面时执行此操作,并对照timestamp
列进行检查。然而,这是相当低效的。
关于php - 每周从sql获取新结果,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10392414/