Discuz! X-discuz积分的更新问题?

Discuz! X-discuz积分的更新问题?

晚风撩人 发布于 2017-03-01 字数 347 浏览 1258 回复 3

最近在做一个网站和论坛的交互的模块,大致就是网站发表一篇文章后同事给论坛发一个帖子,问题就出现在发帖是成功的,帖子数,金币数,主题数都相应的自增了,但是积分却没有改变,dz的积分在后台有一个计算公式,通过发帖数,金币数和主题数来计算一个比例值,但是我把这几项都相应的加到了相应的记录表里,不知道那里还需要触发或者修改,希望各位大侠赐教,谢了!

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

甜柠檬 2017-08-29 3 楼

我估计你肯定是自己独立写的程序去支持发帖的程序,如果是这样的话,建议你看下这个sql是否有按照你dz的规格去更新,不惜说了,你应该能看明白的:

//更新用户统计操作和用户状态表
$sql1 = "UPDATE ".$post_dx_pre."common_member_count SET extcredits2=extcredits2+2,threads=threads+1,posts=posts+1 WHERE uid='$post_uid'";
$sql2 = "UPDATE ".$post_dx_pre."common_member_status SET lastip='$post_ip',lastvisit='$post_time',lastactivity='$post_time',lastpost='$post_pid $post_title $post_time $post_uname' WHERE uid='$post_uid'";

检测这两个sql去吧

瑾兮 2017-05-19 2 楼

不知道你是怎么吧那几项加到相应记录表里的,先来了解一下dx积分系统:

首先了解一下积分系统的组成,Discuz!的积分系统主要由四个部分组成
总积分(credits)
八个扩展积分(extcredit1~8)
积分公式(creditsformula)
其他会员资料:
代表发帖数(posts)
代表精华帖数(digestposts)
代表用户总在线时间(单位:小时)(oltime)
代表用户总页面访问量(pageviews)

总积分是由积分公式计算出来的,积分公式又是由扩展积分以及其他会员资料组成的,而其中的扩展积分是由论坛里面一些操作(例如发帖、发附件、下载附件等等)控制的。总积分是控制会员用户组的升降,会员用户组又是决定一个会员在论坛权限的唯一依据。

如果你在后头调整了积分计算公式,需要你在后台重新进行统计用户信息、比如发帖数、积分等,然后更新缓存。用户重新登录后积分应该就变化了。

虐人心 2017-04-06 1 楼

积分是关联计算输出的,估计你在输出没有触发到积分的计算更新...
积分设置:
posts+digestposts5+extcredits12+extcredits2+extcredits3即发帖数+精华帖数5+威望2+金钱+贡献

直接点击上面的变量和公式符合很方便也很直观。

注释事项:积分公式尽量不要使用在线时间(小时),因为在线时间可以作弊,这样导致会员可以刷等级,引起很多不必要的麻烦。