使用SQL通过pc标签调用PHPCMS V9全站点击量最高文章,可灵活按周、日、月排序,如{pc:get sql="SELECT h.weekviews, n.title, n.url FROM v9_hits AS h, v9_news AS n WHERE substring_index(h.hitsid, '-', -1) = n.id AND n.status=99 ORDER BY h.weekviews DESC" num="10"}{loop $data $r}{$r['title']} (点击: {number_format($r['weekviews'])}){/loop}{/pc}实现周排行,改dayviews或monthviews可切换统计周期,结合CONCAT函数可限定模型ID,精准获取指定内容类型数据。

在PHPCMS V9中调用全站点击量最高的文章,最直接的方法是使用自定义SQL语句通过pc标签来实现。这种方式灵活且能精确控制排序和数据来源。
下面的代码可以直接放在模板文件中,用于获取全站按周点击量排序的文章列表:
{pc:get sql="SELECT h.`weekviews`, n.`title`, n.`url` FROM `v9_hits` AS h, `v9_news` AS n WHERE substring_index(h.`hitsid`, '-', -1) = n.`id` AND n.`status`=99 ORDER BY h.`weekviews` DESC" num="10" cache="3600"}{loop $data $r}
{$r[title]} (点击: {number_format($r['weekviews'])})
{/loop}
{/pc}
这段代码从v9_hits表和v9_news表联合查询数据,通过解析hitsid字段获取对应文章ID,并按周点击量(weekviews)降序排列,取出前十条记录。
如果需要调用“日点击”或“月点击”最高的文章,只需更改SQL语句中的字段名即可:
立即学习“PHP免费学习笔记(深入)”;
例如调用日点击最高的文章,SQL部分应改为:
ORDER BY h.`dayviews` DESC
对于特定模型的内容(如下载、图片等),可以进一步限定模型ID。例如模型ID为1的文章,其hitsid格式通常为c-1-ID,可使用如下SQL:
{pc:get sql="SELECT h.`weekviews`, n.`title`, n.`url` FROM v9_hits h, v9_news n WHERE h.hitsid = CONCAT('c-1-', n.id) ORDER BY h.weekviews DESC" num="10"}该方式确保只获取指定模型的内容,避免跨模型数据混淆。
基本上就这些常用方法,根据实际需求调整字段和条件即可。
PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号