帝国CMS调用会员名和会员投稿数量排名的方法!

  最近一点时间很多帝国CMS建站圈的朋友经常问到,帝国CMS怎么调用会员名和会员投稿数量排名呢?其实实现起来并不复杂,今天帝国cms模板网就针对这个问题,来告诉大家帝国CMS调用会员名和会员投稿数量排名的方法,下面就一起来看看吧:

  【方法如下】:

  1、调用会员发布文章数

<table> [e:loop={'SELECTuserid,username,count(username)astotalfrom[!db.pre!]ecms_newsgroupbyusernameorderbytotaldesc',0,24,0}] <tr> <td><?=$bqno?></td> <td><?=$bqr[username]?></td> <td><?=$bqr[total]?></td> </tr> [/e:loop] </table>

  2、只调用会员发布文章数,增加(序号、会员id)

<table> <tr> <td>排名号</td> <td>会员名</td> <td>文章数</td> <td>会员ID</td> </tr> [e:loop={'selectuserid,username,count(username)asnumfrom[!db.pre!]ecms_newsgroupbyusernameorderbynumdesc',0,24,0}] <tr> <td><?=$bqno?></td> <td><?=$bqr[username]?></td> <td><?=$bqr[num]?></td> <td><?=$bqr[userid]?></td> </tr> [/e:loop] </table>

  注释:在sql语句“ SELECT userid, username, count(username) as total from [!db.pre!]ecms_news group by username order by total desc ”

  中的“(username)”和“group by username”中的 “username”也能用 “userid” 调用 但会出项一个问题就是 管理员的ID会与前台会员的ID重复

  即:管理员的ID=1,前台会员的ID=1(所以管理员的ID=前台会员的ID),最后统计出来的文章会是:管理员+前台会员=总数

  月排行

wherenewstime>UNIX_TIMESTAMP()-86400*30(月:30、周:7)

  举例:月排行

<table><tr><td>排名号</td><td>会员名</td><td>文章数</td><td>会员ID</td></tr> [e:loop={'selectuserid,username,count(username)asnumfrom[!db.pre!]ecms_newswherenewstime>UNIX_TIMESTAMP()-86400*7groupbyusernameorderbynumdesc',0,24,0}] <tr><td><?=$bqno?></td><td><?=$bqr[username]?></td><td><?=$bqr[num]?></td><td><?=$bqr[userid]?></td></tr> [/e:loop] </table>

声明:有的资源均来自网络转载,版权归原作者所有,如有侵犯到您的权益 请联系邮箱:312334557@qq.com 我们将配合处理!

原文地址:《帝国CMS调用会员名和会员投稿数量排名》发布于2022-10-08 14:17:48