Hi 您目前尚未登陆
请选择 进入手机版 | 继续访问电脑版
设为首页收藏本站

上官雨伦

2006年接触 Discuz。原Discuz! Support Team 开发团队成员、New.Discuz! Support Team 开发团队负责人,致力于网页前端设计。曾任职河北省张家口市职业技术学院教师。现任职于北大青鸟张家口校区讲师。

updatemembercount() 函数详解 heatlevel

2018-04-21 12:00:06 发布

Discuz /[教程] 1409 1 0

上官雨伦Writer

张家口市 | 博主、教师

92

主题

103

帖子

103

积分

Admin

Rank: 16

积分
103
发表于 2018-4-21 12:00 | 显示全部楼层 |阅读模式 [离线请留言]
    在网上看到很多对updatemembercount() 函数的详解,第一次接触这个函数的时候可能不太好理解,这里就把这个函数的参数做一个详细的讲解。
discuz对这个函数的原始定义为:
  1. function updatemembercount($uids, $dataarr = array(), $checkgroup = true, $operation = '', $relatedid = 0, $ruletxt = '') {  
  2.         if(!empty($uids) && (is_array($dataarr) && $dataarr)) {  
  3.                 require_once libfile('function/credit');  
  4.                 return _updatemembercount($uids, $dataarr, $checkgroup, $operation, $relatedid, $ruletxt);  
  5.         }  
  6.         return true;  
  7. }
复制代码

我们实际应用时,一般情况下不需要把参数都用到。这里讲解一下我们最需要的几个参数。
$uids用户uid或者uid数组
$dataarr积分操作数组
$checkgroup是否检查用户组 true or false一般情况为true
$ruletxt积分规则文本这里是消耗积分时提示信息内的文本内容
$customtitle自定义积分记录标题积分 - 积分记录 中的 操作
$custommemo自定义积分记录说明积分 - 积分记录 中的 详情

这里举出一个实例:
  • updatemembercount($_G['uid'], array(extcredits1=>10),true,'','','','操作','详情');

在这段实例中,我们用到了最常用的5个参数。这里需要说明的是积分操作数组。
1.如果积分操作类型是固定的,直接写extcredits1、extcredits2、extcredits3。如果类型为变量,格式为:'extcredits' . $test
2.增加积分 在 => 后直接填写变量值,如扣减积分 格式为:=> -
操作类型为变量的扣减积分实例:
  1. updatemembercount($_G['uid'], array('extcredits' . $A_credits=> -$thecredit),true,'','',$A_log_title,$A_log_title,$A_log_info);
复制代码

0 使用道具 举报

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

拉帮网 [离线请留言]Member 2018-8-4 14:59

不错啊