如本文摘要所述,在Discuz二次开发过程中,想要输出某个用户的发帖数量该如何操作呢?

小编没有找到Discuz系统定义的功能,因此通过mysql命令进行查询。开始使用了如下代码

  1. <!–{eval $res=DB::fetch_all(“select subject from “.DB::table(‘forum_thread’).” where authorid=’$_G[uid]’ and displayorder >= 0″);
  2.                                                                         $article_count = DB::num_rows($res);
  3.                                                                         echo $article_count;
  4.                                                                         }–>

复制代码

以上代码执行后,页面没有报错,但是并没有理想的输出结果。

后面网络上查找了资料,原来discuz DB::num_rows()需要应用在mysql_queryr资源上。将上方代码进行了细微的修改,使用query替代fetch_all。

  1. <!–{eval $res=DB::query(“select subject from “.DB::table(‘forum_thread’).” where authorid=’$_G[uid]’ and displayorder >= 0″);
  2.                                                                         $article_count = DB::num_rows($res);
  3.                                                                         echo $article_count;
  4.                                                                         }–>

复制代码

修改后的代码上传服务器后,页面显示效果如下,正确的输出了主题数量。

注意事项:小数据量用num_rows(),数据量大的情况使用count(*)

mysql_num_rows() 返回结果集中行的数目。此命令仅对 SELECT 语句有效。要取得被 INSERT,UPDATE 或者 DELETE 查询所影响到的行的数目,用 mysql_affected_rows()

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论

微信小程序

微信扫一扫体验

立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部