#最新
PHPCMS V9排行GET标签调用文章|按阅览次数(月、周、总) -静鱼客栈

2021-06-26 0 814
本文介绍下,在phpcms v9中,按阅读次数(月、周、总)排行GET标签调用文章的办法,感兴趣的朋友参阅学习下。

本节内容:
PHPCMS V9按阅读次数(月、周、总)排行GET标签调用文章

想在下载站点中实现下载排行,依照一般的逻辑,进入某栏目,显现的是某栏目的下载排行,而在主页呢,应该显现的是全站所有软件条目的下载排行。

PHPCMS V9的标签不支持重复调用多个栏目,例如我想显现某两个栏目的下载排行,V9就做不到了,而之前的2008版却是可以支持的。令人费解,只能认为是新架构,还没来得及完善了。

阅读次数的表里边,与相关文章或下载内容相关的是一个叫“hitsid”的字段,一起也是该表的主键。存储的字段内容如“c-2-5”一 类的,而不是普通的整型数字,不能简略的与文章表或者下载表里边的条目的“id”号直接相关就得到相关的阅读次数,这个另类的“x-y-z”的方式令不少 SQL语句的生手望而生畏,包括自己。

不过还好,这个“x-y-z”的格局是有规律可循的,于是乎,我查看了相关的文档,想到了用字符 串的形式,因为我做的是下载站,“x-y-”这段字符串是固定的,便是“c-2-”,第一个“c”是什么不知道,第二个“2”应该是内容模型,“2”是下 载模型,“1”是文章模型,可以到模型办理里边查看id号。最终那个数字便是对应的文章表或下载表里的条目id了,所以,也不是没有办法的,我想到的便是 在SQL语句里,将固定的“c-2-”和字段id合在一起,得到的便是诸如“c-2-5”一类的字符串,然后在用条件比对即可
限于自己水平有限,这个字符串加了半响,没有可以成功。另一个办法,便是运用SQL语句的“substring”。
先附上这位同学给出的办法:

频道总排行调用办法:

<div class="box">
    <h5 class="title-2">频道总排行</h5>
    {pc:get sql="select a.id,a.title,a.url,a.catid,b.hitsid,b.views from v9_news a left join v9_hits b on a.id=substring(b.hitsid,5) where a.catid in ($arrchildid) order by b.views desc" num="10" cache="3600"}
    <ul class="content digg">
        {loop $data $r}
            <li> <a href="{$r[url]}" rel="external nofollow"  rel="external nofollow"  title="{$r[title]}"  target="_blank">{str_cut($r[title],36,'...')}</a></li>
        {/loop}
    </ul>
    {/pc}
</div>
频道月排行调用方法:
<div class="box">
    <h5 class="title-2">频道本月排行</h5>
    {pc:get sql="select a.id,a.title,a.url,a.catid,b.hitsid,b.views from v9_news a left join v9_hits b on a.id=substring(b.hitsid,5) where a.catid in ($arrchildid) order by b.monthviews desc" num="8" cache="3600"}
    <ul class="content rank">
        {loop $data $r}
        <li><span>{number_format($r[views])}</span><a href="{$r[url]}" rel="external nofollow"  rel="external nofollow" {title_style($r[style])} class="title" title="{$r[title]}">{str_cut($r[title],56,'...')}</a></li>
        {/loop}
    </ul>
    {/pc}
</div>

我的代码只用到前一个例子中的SQL语句中的substring办法。Substring是截取字符串的效果。

调用全站一切文章排行的办法:

<div class="idxTopApps contents">
<ul class="indexIcns">
{pc:get sql="SELECT a.id,a.url,a.thumb,a.status,b.hitsid,b.views FROM v9_download a, v9_hits b WHERE a.status=99 and a.id=substring(b.hitsid,5) ORDER BY b.views DESC" num="6"}
{loop $data $r}
<li><a href="{$r['url']}" rel="external nofollow" ><img src="{$r['thumb']}" /></a></li>
{/loop}
{/pc}
</ul>
</div>

代码阐明:
 “substring(b.hitsid,5)”是截取hitsid字段,从左往右数第5个字符串,即“c-2-5”从左往右数,1个“c”,1个 “2”,2个“-”,第5个字符就是“5”,截取后只剩下了第2个“-”后的id,到达了最终提取id的目的。
 
 当然,还加入了另一个条件 “status=99”,即审核通过的文章。
收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝/QQ扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

1. 本站所有资源来源于用户上传和网络,因此不包含技术服务请大家谅解!如有侵权请邮件联系客服!305582964@qq.com
2. 本站不保证所提供下载的资源的准确性、安全性和完整性,资源仅供下载学习之用!如有链接无法下载、失效或广告,请联系客服处理,有奖励!
3. 您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容资源!如用于商业或者非法用途,与本站无关,一切后果请用户自负!
4. 如果您也有好的资源或教程,您可以投稿发布,成功分享后有U点奖励和额外收入!

静鱼客栈 学习中心 PHPCMS V9排行GET标签调用文章|按阅览次数(月、周、总) -静鱼客栈 https://www.52jyu.cn/593.html

静鱼客栈的帅逼站长~

常见问题
  • 本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP贵宾介绍。
查看详情
  • 最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器没有下载完整造成的,可以重新进行下载即可~
查看详情

相关文章

发表评论
暂无评论
静鱼客栈-站长

为您解决烦忧 - 专业服务 看到消息会进行回复