关于如何编写PHP脚本以显示“观看次数最多”的帖子似乎很少有教程。我发现了一些为WordPress定制的脚本,并且无法让它们中的任何一个为我工作。其余的是程序员最流行的PHP脚本。
我的表格news
的字段为id, count, timestamp, headline, img, text
。
我想获得上周最受欢迎的5个帖子,只显示数字和标题。
我该如何解决这个问题?
答案 0 :(得分:6)
这将从过去一周内抓取5条记录,其中count
值最高
$sql = "
SELECT *
FROM newsTable
WHERE timestamp > DATE_SUB(curdate(), INTERVAL 1 WEEK)
ORDER BY count DESC
LIMIT 5
";
修改强>
将计数字段增加1并更新时间戳的简便方法
$sql = "
UPDATE yourtable
SET count = count + 1,
timestamp = NOW()
WHERE id = " . $post_id
答案 1 :(得分:2)
您需要做的第一件事是添加count
(或hits
)列:
ALTER TABLE news ADD count INTEGER
然后,每当您显示新闻时,请增加适当的计数:
UPDATE news SET count = (count+1) WHERE id = X
然后只显示最受欢迎的新闻:
SELECT * FROM news WHERE timestamp > DATE_SUB(curdate(),INTERVAL 1 WEEK) ORDER BY count DESC LIMIT 5