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

时间:6年前   阅读:4137

1、调用会员发布文章数

<table>

[e:loop={'SELECT userid, username, count(username) as total from [!db.pre!]ecms_news group by username order by total desc',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={'select userid, username,count(username) as num from [!db.pre!]ecms_news group by username order by num desc',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),最后统计出来的文章会是:管理员+前台会员=总数

月排行

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

举例:月排行

<table><tr><td>排名号</td><td>会员名</td><td>文章数</td><td>会员ID</td></tr>

[e:loop={'select userid, username,count(username) as num from [!db.pre!]ecms_news where newstime > UNIX_TIMESTAMP()-86400*7 group by username order by num desc',0,24,0}]

<tr><td><?=$bqno?></td><td><?=$bqr[username]?></td><td><?=$bqr[num]?></td><td><?=$bqr[userid]?></td></tr>

[/e:loop]

</table>

本站声明:网站内容来源于网络,如有侵权,请联系我们https://www.qiquanji.com,我们将及时处理。

微信扫码关注

更新实时通知

上一篇:上证50ETF期权合约代码中的A和M表示的是什么含义?

下一篇:zblog文章和页面怎么添加canonical标签的方法

网友评论

请先 登录 再评论,若不是会员请先 注册