找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 23|回复: 1

discuz数据表common_member_count简析及相关的updatemembercount()方法

[复制链接]

3

主题

4

回帖

61

积分

管理员

积分
61
发表于 7 天前 | 显示全部楼层 |阅读模式
安装discuz系统时,会创建一个名为 common_member_count 的MySQL数据表(默认会有表前缀pre_,因前缀名可在安装dz时自定义,因此这里将前缀省略)

该表字段结构及对应功能如下:

uid用户编号
extcredits1积分1
extcredits2积分2
extcredits3积分3
extcredits4积分4
extcredits5积分5
extcredits6积分6
extcredits7积分7
extcredits8积分8
friends好友
posts帖子数
threads主题数
digestposts精华贴数
doings记录数
blogs日志数
albums相片数
sharings分享数
attachsize附件空间大小
views用户访问数
oltime在线时间:小时为单位,整数
todayattachs今日附件数
todayattachsize今日附件尺寸
feedsfeed数?
follower被收听数
following收听别人数
newfollower新增收听人数
blacklist黑名单数

操作该表有一个dz内置函数方法:updatemembercount() 下面以一个简单的例子说明该函数的使用方法。

使用方法:

  1. updatemembercount($uid, array($type=>$num), TRUE, '', 0, '', $handle, $notice);  // 此例子用于更新某用户的积分,并将积分变动信息显示到用户积分页面
复制代码
参数说明:
  • $uid:用户id
  • $type:更新的积分,字符串,如:extcredits3
  • $num:更新(增加)的积分数额。可为负数,为负数时代表扣除积分。
  • 第三个参数:默认为 TRUE ,代表当积分更新后是否检测用户组变动
  • 第四个参数:默认空,操作类型
  • 第五个参数:关系id,如帖子、回复等,一般与第四个参数搭配
  • 第六个参数:积分规则文本,可为空
  • $handle:积分操作标题。如:发帖、回帖
  • $notice:积分操作说明

简单示例(变量参数仅为演示,请以具体开发环境为准):
  1. $uid = 1;
  2. $type = 'extcredits2';
  3. $reward = 5;
  4. $handle = '签到';
  5. $notice = '每日签到奖励';
  6. updatemembercount($uid, array($type=>$reward), TRUE, '', 0, '', $handle, $notice);
复制代码
执行成功后,用户积分页面显示如下:






本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×

3

主题

1

回帖

89

积分

版主

积分
89
发表于 7 天前 | 显示全部楼层
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|DE8G.CN

GMT+8, 2025-4-4 19:08 , Processed in 0.075109 second(s), 26 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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