似乎很少有关于如何编写PHP脚本以显示“最受欢迎”的帖子的教程。我找到了一些定制的WordPress脚本,但是都无法让我使用。其余的是针对程序员的最流行的PHP脚本。
我有一个名为news
的表,其中包含字段id,count,timestamp,headline,img,text
。
我想获取过去一周内最受欢迎的5篇文章,只显示数字和标题。
我该怎么做?
这将会抓取最近一周内计数值最高的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
LIMIT 5
和 LIMIT 0, 5
和 LIMIT 5 OFFSET 0
是等价的。 - ypercubeᵀᴹOFFSET
关键字,则offset
是第一个:http://dev.mysql.com/doc/refman/5.1/en/select.html(我在想我是否误读了它...) - Jared Farrish首先你需要做的是添加一个 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
LIMIT 0, 5
,这样你只会得到五个结果。 - Jared Farrish