帝国CMS调用会员名和会员投稿数量排名的方法! 最近一点时间很多帝国CMS建站圈的朋友经常问到,帝国CMS怎么调用会员名和会员投稿数量排名呢?其实实现起来并不复杂,今天帝国cms模板网就针对这个问题,来告诉大家帝国CMS调用会员名和会员投稿数量排名的方法,下面就一起来看看吧: 【方法如下】: 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> OK,操作完以上流程就完成了,大家可以自行测试!
|