php - 如何每天轮换报价

标签 php mysql

这不是一个特定于编程的问题,而是一个更普遍的问题:

我的数据库中有几条引述。我可以随时添加更多引号,但我的想法是:

每天都会显示一条新报价,然后在第二天显示下一条报价。当达到报价的“限制”时,将显示第一个报价,使您始终可以在自己的网站上找到报价。

我该怎么做?

我知道需要进行检查,例如“如果昨天显示了报价,则显示新报价,如果昨天的报价也是数据库中从第一个报价开始的最新报价”。我完全不知道如何开始,所以非常感谢您的帮助!

我正在使用 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/

相关文章:

mysql - 如何检查 mysql dbi Perl 中的重复键?

php - 无法在 $_SESSION 中存储数据库连接

php - PHP 静态匿名函数真的有效吗?

python - Django: AttributeError: 'Employee' 对象没有属性 'current_hours'

mysql - 这是更新多行的可行方法吗?

php - 折扣代码系统。比较数据条目以促进折扣

php - 为什么我的 PHP 查询在页面加载时执行两次?

php - 数据未从 JSON 插入数据库

php - CodeIgniter 搜索引擎无法正常工作 - 仅获取已发布的帖子

php - Laravel - Eloquent 在比较之前将查询参数转换为整数