Discuz通过DB::num_rows获取主题数量

overme6个月前 (10-17)网页设计1009
如本文摘要所述,在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()

相关文章

Discuz关闭前台插件的更新提示教程

Discuz论坛系统,管理员每次登录论坛,遇到后台有没有更新的应用时,都会出现更新提醒,而且关了还会继续弹出。如下图所示,后台没有暂停更新提醒的选项,用户体验不是很好: 找到文件source/m...

Discuz主题链接地址URL显示完全的修改教程

登陆FTP,打开 source/function/function_discuzcode.php 下载到本地,用代码编辑器编辑 搜索 如下代码 $length = 65; if(strle...


		Discuz图片水印设置方法教程

Discuz图片水印设置方法教程

发布图片时,为了防止侵权盗用,或是为了宣传网址引流,需要添加在图片上添加水印。 在此分享Discuz系统图片水印设置方法: Discuz论坛的水印设置很简单,使用制作的水印图片覆盖系统水印地址,然...

Discuz Header meta代码解析

Discuz系统统一的头部文件所在位置:/template/default/common/header_common.htm 部分代码解析如下: <meta http-equiv=”Cont...

Discuz论坛入口文件forum.php解析

//定义两个常量,定义当前应用ID define(‘APPTYPEID’, 2); //定义当前应用脚本名称 define(‘CURSCRIPT’, ‘forum’); //引入两个核心库文件 r...


		Discuz 核心函数class_core.php文件讲解

Discuz 核心函数class_core.php文件讲解

error_reporting(E_ALL); //设置error级别为报告所有错误 //定义常量值 define(‘IN_DISCUZ’, true); //设置常量IN_DISCUZ为true...

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。