我如何实施基本的;最受欢迎的帖子;PHP脚本?

我如何实施基本的;最受欢迎的帖子;PHP脚本?,php,mysql,Php,Mysql,似乎很少有教程介绍如何编写PHP脚本来显示“浏览量最大”的帖子。我找到了一些为WordPress定制的脚本,但没有一个能为我工作。其余的是程序员最常用的php脚本 我有一个名为news的表,其中包含id、count、timestamp、headline、img、text字段。 我想得到上周最受欢迎的5篇文章,只显示数字和标题 我该怎么做呢?这将从上周的计数最高的记录中抓取5条记录 $sql = " SELECT * FROM newsTable WHERE timestamp > DA

似乎很少有教程介绍如何编写PHP脚本来显示“浏览量最大”的帖子。我找到了一些为WordPress定制的脚本,但没有一个能为我工作。其余的是程序员最常用的php脚本

我有一个名为
news
的表,其中包含
id、count、timestamp、headline、img、text
字段。 我想得到上周最受欢迎的5篇文章,只显示数字和标题


我该怎么做呢?

这将从上周的
计数最高的
记录中抓取5条记录

$sql = "
SELECT * 
FROM newsTable 
WHERE timestamp > DATE_SUB(curdate(), INTERVAL 1 WEEK) 
ORDER BY count DESC 
LIMIT 5
";
编辑

将count字段增加1并更新时间戳的简单方法

$sql = "
UPDATE yourtable 
SET count = count + 1, 
timestamp = NOW()
WHERE id = " . $post_id

您需要做的第一件事是添加一个
count
(或
hits
)列:

然后,每当显示新闻时,增加相应的计数:

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

字段
计数
的作用是什么?是的,这应该不是一个非常困难的查询。当然,您只需对存储所有视图的MySQL表+1,然后在页面加载时抓取顶部的视图进行显示。好的,当然:)只需按count DESC排序。。。。因此,当查看器打开news_id.php时,它会在count字段中添加+1?这听起来很合适(或者您可以将其放在另一个查找表中)。然后您可以
限制0,5
,这样您只能返回五个结果。比仅用英文描述解决方案的现有部分更有用。对于MySQL,这意味着使用
createtable
语句给出表模式,使用
INSERT
语句给出示例数据。如果您在实现特定解决方案的特定问题上寻求帮助,您也会得到更多有用的答复。我们是来帮忙的,不是来做你的工作。
LIMIT 5
LIMIT 0,5
LIMIT 5 OFFSET 0
是等效的。是的,像0,5。。嘿,酷,这是有效的:)但我手动在“计数”的某些行中插入了数字。。。但是文章页面上的脚本如何向字段中添加+1?@ypercube-我可能读错了文档,但是如果没有使用
offset
关键字,
offset
是第一位的:(我想知道我是否读错了…@ypercube-不管怎样,我只是确认它们是等价的。我误解了文档。@Ingpor-我添加了一条sql语句,它将增加您的计数并用给定的帖子id更新时间戳
SELECT * FROM news WHERE timestamp > DATE_SUB(curdate(),INTERVAL 1 WEEK) ORDER BY count DESC LIMIT 5