在我的第一个基于 SQL 的项目中。我想在我的网站上有一个新闻窗格。在那个新闻窗格中。我想显示最新的 10 条新闻,我会在网站的每次新更改(如更改日志)后不断更新。
SQL-PHP 仅显示最新的 10 条新闻的解决方法是什么?我将如何更新数据库表(删除最旧的第 10 个条目),然后将最新的(第一个条目)添加到表中 + 更改 ID(1- 10)。
为此,您可以制作表格(例如新闻)。与列ID
content
date
。
只需添加新闻并执行此操作。
SELECT * FROM News ORDER BY ID DESC LIMIT 10
然后,
把它带入 PHP ARRAY,然后简单地在那里工作。
您很少希望在添加新条目后立即从数据库中删除旧值,为什么不直接对数据库选择结果进行排序并限制行数,这对于未来的代码更改要灵活得多。
SELECT * FROM News ORDER BY id DESC LIMIT 10;
假设您有新闻的时间戳,您可能希望改为按此数据库值排序。因为这将允许您稍后“增加”新闻文章,例如,如果您希望将已编辑的文章视为新文章,您只需更新时间戳,而不是将行 ID 更改为更高的值。
SELECT * FROM News ORDER BY unix_time_stamp DESC LIMIT 10;
最后,如果您想清理您的新闻条目,我会单独在清理功能上执行此操作,可能是在某种每小时或每天的 cronjob 上。