这不是一个特定于编程的问题,而是一个更普遍的问题:
我的数据库中有几条引述。我可以随时添加更多引号,但我的想法是:
每天都会显示一条新报价,然后在第二天显示下一条报价。当达到报价的“限制”时,将显示第一个报价,使您始终可以在自己的网站上找到报价。
我该怎么做?
我知道需要进行检查,例如“如果昨天显示了报价,则显示新报价,如果昨天的报价也是数据库中从第一个报价开始的最新报价”。我完全不知道如何开始,所以非常感谢您的帮助!
我正在使用 PHP 和 MySQL。
最佳答案
function get_daily_quote(){
$q = floor(time()/86400); // will produce a number
$n = 100; // num of quotes - you can count the quotes in the database or something
$res = mysql_query('SELECT * FROM `quotes` ORDER BY `id` ASC LIMIT '.($q%$n).', 1');
return mysql_fetch_assoc($res);
}
或者使用 pdo 代替 mysql 的旧函数,但是你明白了......
编辑
只是为了解释 - $q 总是比前一天进步 1。从表中获取报价元组时,$q % $n 将是最差的。我们将按 ID 排序以保持结果的顺序相同,ID 将是自动递增的主键。这应该可以解决问题。
当然,如果你想要性能,你可以将它保存到一个文件中,每天运行一次来更新它,这样你就不需要为它查询数据库。
编辑 固定 $q
关于php - 如何每天轮换报价,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13790924/