Discuz!官方免费开源建站系统

 找回密码
 立即注册
搜索

[求助] 请帮我看看这个自写函数错在哪里

[复制链接]
sleep2 发表于 2010-8-24 09:47:57 | 显示全部楼层 |阅读模式
本帖最后由 sleep2 于 2010-8-24 10:12 编辑

DZ版本:7.2

我想在论坛首页根据用户组ID显示出用户组的名称,偿试写一个调用的函数,然后在静态模版分阶段调用,但始终不成功,自己不懂PHP,请高手指点一二
  1. function getgn($gpid) {
  2.         $getgroupn= $db->result_first("SELECT groupid, grouptitle FROM {$tablepre}usergroups WHERE groupid = '".$gpid."'");

  3.         return $getgroupn['grouptitle'];
  4. }
复制代码
这个函数我是写在\include\index_classics.inc.php文件中,然后在模版文件discuz.htm中调用,调用方法:
  1. {eval echo getgn(2);}
复制代码
请问哪里存在问题?
回复

使用道具 举报

 楼主| sleep2 发表于 2010-8-24 10:09:46 | 显示全部楼层
移动插件区就更没有理会了
回复

使用道具 举报

pchhh 发表于 2010-8-24 10:37:43 | 显示全部楼层
本帖最后由 pchhh 于 2010-8-24 10:40 编辑

函数应该这么写吧:

  1. function getgn($gpid) {
  2.         global $db,$tablepre;
  3.         $getgroupn= $db->result_first("SELECT  grouptitle FROM {$tablepre}usergroups WHERE groupid = '".$gpid."'");
  4.          return $getgroupn;
  5. }
复制代码
回复

使用道具 举报

pchhh 发表于 2010-8-24 10:46:52 | 显示全部楼层
这个函数增加了一个数据库查询, 不知有没有可以直接调用的数组?
回复

使用道具 举报

 楼主| sleep2 发表于 2010-8-24 11:00:52 | 显示全部楼层
感谢pchhh老兄,我先试下

我不怕查询数据库,找到很久也没找到直接调用的方法。
回复

使用道具 举报

 楼主| sleep2 发表于 2010-8-24 11:04:02 | 显示全部楼层
搞定!非常感谢pchhh,在DZ问了那么久都没人理我,现在终于成功了,再次感谢
回复

使用道具 举报

kookxiang 发表于 2010-8-24 11:13:38 | 显示全部楼层
result_first……
其实原来代码换成fetch_first就行了……
当然,还是得global的……
回复

使用道具 举报

 楼主| sleep2 发表于 2010-8-24 13:18:38 | 显示全部楼层
由于论坛首面每个版块下面都要调用,所以首页一下子有100多个查询,这太多了,单独服务器也不敢这么干,还是用个笨人的办法
  1. function getgpname($gpid)
  2. {
  3.         $gu_list = '|1|管理员,|2|超级版主,|3|版主,|4|禁止发言,|5|禁止访问,|6|禁止IP,|7|游客,|8|等待验证会员';
  4.         $gp_1 = explode('|'.$gpid.'|',$gu_list);
  5.         $gp_2 = explode(',',$gp_1[1]);
  6.         return $gp_2[0];
  7. }
复制代码
也想过从用户组数据库循环遍历出用户组名称,但不知道怎么弄,所以就写死了,一般用户组名称改动较少,这样做就不用查询数据库了。
回复

使用道具 举报

pchhh 发表于 2010-8-24 13:43:27 | 显示全部楼层
回复 sleep2 的帖子
不用自定义函数,你可以这样调用用户组头衔:

include_once DISCUZ_ROOT.'./forumdata/cache/cache_usergroups.php';
echo $_DCACHE['usergroups'][$groupid]['grouptitle'];

echo 出来的是当前用户的头衔, 修改[$groupid]可以调其它的

   
回复

使用道具 举报

thx9395 发表于 2010-8-24 13:46:49 | 显示全部楼层
看不太明白。。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|Discuz! 官方站 ( 皖ICP备16010102号 )star

GMT+8, 2025-11-21 01:01 , Processed in 0.110772 second(s), 14 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表