• 11199阅读
  • 206回复

2016年1月15日:修正电脑版论坛统计数据主题数和帖子数误差(部分与拆分操作有关) [复制链接] [手机版]

上一主题 下一主题
离线为你守候
温馨家园,为你守候!

只看楼主 正序阅读 使用道具 绿 楼主  发表于: 2016-01-15 18:08:00 星期五
—— 管理操作 •  本帖被 zhangjingyu 执行合并操作(2019-01-20) ——
电脑版和手机版论坛统计数据存在一定的误差,其实很早之前就发现这个问题了,只是不知道如何解决。不过,随着时间的推移,自己对论坛慢慢的多了一些了解,也渐渐的知道一些问题可能发生的原因及需要从哪里入手。当然了,能解决的问题其实也不是大问题。

修改前的电脑版统计数据为:
今日7 昨日1 最高日258 主题2015 帖子10912 会员1183 新会员美丽到家

手机版的为:
主题数: 1898
帖子数: 10795
会员数: 1183
今日帖数: 7
当前在线: 21(1会员)
最新会员: 美丽到家

注意:
2015-1898=117
10912-10795=117

也就是说,主题数和帖子数存在着一个相同的误差。

论坛的统计数据一部分是记录在一个数据表里的,有昨日、最高日、会员总数、最新会员。另外,表里还记录着最高在线人数及发生的时间。

index.php 计算方法:
$article += $o_post; //帖子数
$topics  += $o_post; //主题数
$tposts  += $o_tpost; //今日发帖数

从上面的计算方法可以看出,如果存在o_post或o_tpost的值不为零,那么与实际上的数据就会存在误差。恰好在数据表里o_post的值就是117,修改为0后,电脑版的统计数据终于恢复正常了!

2019年3月12日:初步解决个人空间留言板表情弹出框定位问题
=================分隔线====================
26楼 按是否有子版块判断显示帖子总数提示文本,即分为“总帖数(含子版):”和“帖数:”
44楼 计算主题数,回复数,帖子总数(包括子版块的主题数和回复数)的文件,require/updateforum.php
62楼 自己写的查询、记录版块帖子总数的php文件
92楼 拆分帖子后,更新源和目标版块数据(帖子总数)
98楼:
进行帖子拆分操作时,源版块和目标版块的帖子数进行自动更新,但有一个问题,那就是当这个版块是子版块时,父版块的帖子数是不会自动更新的,而这就会造成父版块的帖子数以及站点信息里面的帖子数不正确。
尊重每位祺师,做有价值的祺文化社区!欢迎光临,并感谢您的支持与陪伴!
我希望能通过这个论坛让更多的朋友更多的关爱自己的家人和朋友,不要等到有一天失去后才知道没有好好的珍惜,才知道
拥有的珍贵!亲爱的们,如果你懂得,请把这份关爱传递,让更多的人加入到爱心接力当中,让每个人的心中都洋溢着爱的温馨!

我们应该知道:岁月如梭!其实生命,是很短暂,也是很脆弱的东西…… 设置自己的帖子签名请点这里!
离线zhangjingyu

只看该作者 置顶 (来自179楼) 发表于: 2020-09-14 23:20:08 星期一  点亮(0)
—— 管理操作 •  zhangjingyu 执行 帖内置顶 操作 (2020-09-14 23:24) ——
经过研究,思考,有新的发现,新的解决方案,确实可喜可贺。但有时候,未免过于乐观,过于自信,就像173楼所说的情况,确实客观存在。然而,按这个思路却未必能走下去。因为涉及到的不是一星半点儿,不是某一处的简单修改,而是相当大的一块,可以说是一个功能模块。

今晚大致看了下首页文件(index.htm和index.php),和站点帖子数相关的有相当一部分代码。看不懂,自然更谈不上修改。

之前自写的用来校对站点帖子数的php文件,经过近期的修改、完善,自我感觉良好。如果真的出现偏差,可以用另外一个文件修正,当然了,这只是一个野路子。在后台缓存管理里,有一个功能更新主题文章数统计,说明是“更新所有版块的主题数和文章数统计。数据转换后或前台文章数统计不正常时,可使用此功能修复”。经过测试,与我的解决方案可以说是异曲同工。我猜想,它对应的就是172楼帖子中提到的updateforum()函数。
updatecache.htm
    <form action="$basename&" method=post>
      <input type="hidden" name=action value='forum'>
      <tr class="tr1 vt">
        <td class="td1"><span class="b s1">更新主题文章数统计</span</td>
        <td class="td2"><input type="text" class="input input_wa mr5" name="percount" value="100">
          <span class="bt2"><span>
          <button type="submit" value="每批更新个数">每批更新个数</button>
          </span></span> </td>
        <td class="td2"><div class="help_a">更新所有版块的主题数和文章数统计<br/><span class="gray">数据转换后或前台文章数统计不正常时,可使用此功能修复</span></div></td>
      </tr>
    </form>


好了,就这样吧。不研究如何去修改了,也真的改不了。虽然偏差还是客观存在,但不彻底的解决方案还是有的,自己研究的,加后台提供的。

一个帖子,编辑了不下半个小时,同样的进行帖内置顶,算是对异想天开的回复吧。
尊重每位祺师,做有价值的祺文化社区!欢迎光临,并感谢您的支持与陪伴!
我希望能通过这个论坛让更多的朋友更多的关爱自己的家人和朋友,不要等到有一天失去后才知道没有好好的珍惜,才知道
拥有的珍贵!亲爱的们,如果你懂得,请把这份关爱传递,让更多的人加入到爱心接力当中,让每个人的心中都洋溢着爱的温馨!

我们应该知道:岁月如梭!其实生命,是很短暂,也是很脆弱的东西…… 设置自己的帖子签名请点这里!
离线zhangjingyu

只看该作者 置顶 (来自173楼) 发表于: 2020-09-13 23:28:23 星期日  点亮(0)
—— 管理操作 •  zhangjingyu 执行 帖内置顶 操作 (2020-09-13 23:40) ——
假设版块a下面有b和c,也就是a是b和c的父版块,b和c是a的子版块。现在的情况是,在父版块a的版块信息里显示的帖子总数(自己修改过代码,以是否含有子版块加以判断:如果有子版块,也就是当前版块是父版块,那提示文字为“总帖数(含子版)”,否则这个版块就是一级版块,也就是没有子版块,提示文字为“帖数”。因为经过研究发现,在父版块的“帖数”里是包含所有子版块的帖子数的,所以才会尝试修改代码)的计算公式为:Sum(a)=a+b+c。

其实,在版块信息里把子版块的帖子数也计算进去(我们看到的是显示出来)并没有什么意义。就像当初,我也是经过研究才知道是这么一回事(并研究如何修改代码,以区分)。然而,这样计算,除了没有什么实际意义外,影响却是不折不扣。最主要的就是,这样很可能导致论坛帖子总数出现偏差。因为,论坛管理里的拆分操作是避免不了的,而当初的这个拆分操作并不能及时的更新版块信息里的帖子总数,后来自己添加了代码才算基本解决。也就是,当源版块减少n个帖子后,目标版块会增加n个帖子,这个帖子数的变化自己用代码实现的。

再把拆分操作放到版块b或c里。无论b或c是目标版块,还是源版块,经过自己修改过的代码后,版块信息里的帖子总数是实时变化的,也就是版块b或c,也包括对方版块的帖子总数总是正确的。然而,这个变化却无法实时反馈到父版块a的版块信息里。

不区分父版块和子版块,所有版块的帖子数都是对的,意外情况就是求和,因为有动态变化,而这个动态变化却无法如实反馈到求和的结果上。

由于客观偏差的存在,我们才会有后续的不断的努力。按照“原理”,父版块的帖子总数是包含所有子版块的。所以,我们后来在版块信息数据表里添加了新的字段benban记录当前版块的帖子数,所有版块求和,再和数据表里的数据进行对比、校对。并且专门写了如何更新这个benban字段数据的php文件,而且前两天又重新做了修改,补充,和完善。其实,细看数据表,后来添加的benban字段的数据和原表自带的记录版块帖子数的article字段基本没什么差别,因为它本身就是用来校对,对比的。除了目前三个包含子版块的父版块的数据。

其实,我们被带偏了。

就像前面说的,其实所有版块的帖子数都是对的(不区分父版块和子版块),而且在父版块把子版块的帖子数也计算进来根本就没有什么意义,而正是这个求和很可能出现意外。

那么,重新思考。不让父版块把子版块的帖子数计算进去,而是如实反应版块自身的帖子数,也就是,论坛总帖数是所有版块的帖子数之和,不就从根本上解决问题了吗?

这就是今晚想到的,其实就一点,而文字却打了不少。
尊重每位祺师,做有价值的祺文化社区!欢迎光临,并感谢您的支持与陪伴!
我希望能通过这个论坛让更多的朋友更多的关爱自己的家人和朋友,不要等到有一天失去后才知道没有好好的珍惜,才知道
拥有的珍贵!亲爱的们,如果你懂得,请把这份关爱传递,让更多的人加入到爱心接力当中,让每个人的心中都洋溢着爱的温馨!

我们应该知道:岁月如梭!其实生命,是很短暂,也是很脆弱的东西…… 设置自己的帖子签名请点这里!
离线zhangjingyu

只看该作者 206楼 发表于: 2025-03-31 08:15:02 星期一  点亮(0)
任务按时执行,下面是检查结果:

benban字段总和为(准确数据):104538
article字段总和减去子版块帖子为:104538
版块“每日聊聊◇见闻经历”主题数和帖子数为(数据表查询):541/71216,准确数据为:541/71216
版块“老旧废帖◇回收中心”主题数和帖子数为(数据表查询):418/3901,准确数据为:418/3901

父版块FID14“仙妻凡夫◇爱人伴侣”帖子总数为(数据表查询):1413,准确数据为:1413
父版块FID15“聪儿慧女◇教育成长”帖子总数为(数据表查询):1482,准确数据为:1482
父版块FID16“顶天立地◇我非英雄”帖子总数为(数据表查询):5983,准确数据为:5983
父版块FID47“隐藏版块◇历史版块”帖子总数为(数据表查询):278,准确数据为:278

如果两组论坛帖子总数对不上,请仔细检查数据表pw_forumdata(除去14,15,16,47外,其它版块的article字段与更新后的benban字段的值应该是一样的)
尊重每位祺师,做有价值的祺文化社区!欢迎光临,并感谢您的支持与陪伴!
我希望能通过这个论坛让更多的朋友更多的关爱自己的家人和朋友,不要等到有一天失去后才知道没有好好的珍惜,才知道
拥有的珍贵!亲爱的们,如果你懂得,请把这份关爱传递,让更多的人加入到爱心接力当中,让每个人的心中都洋溢着爱的温馨!

我们应该知道:岁月如梭!其实生命,是很短暂,也是很脆弱的东西…… 设置自己的帖子签名请点这里!
离线zhangjingyu

只看该作者 205楼 发表于: 2025-03-28 13:32:58 星期五  点亮(0)
论坛的帖子总数来自article字段的数据,但总会有偏差不准确的时候,想过要一劳永逸的解决这个问题。前面说了,benban字段的数据是准确的,那么参考对应文件中的语句,把准确的数据写进article字段不就行了吗?最近一直在想这个问题,今天上午用两三个小时的时间写文件、测试、检查错误、修改、再测试,终于完成了!添加后台任务,每周执行一次,后面只要检查下数据是否一致就可以了(可能没必要了,毕竟数据的计算方法是一样的)。虽然只是一个论坛的帖子总数数据,没有任何影响,但我只要准确的数据!这也是一直以来不断修改、核对的原因。现在,终于有终极方案了。
尊重每位祺师,做有价值的祺文化社区!欢迎光临,并感谢您的支持与陪伴!
我希望能通过这个论坛让更多的朋友更多的关爱自己的家人和朋友,不要等到有一天失去后才知道没有好好的珍惜,才知道
拥有的珍贵!亲爱的们,如果你懂得,请把这份关爱传递,让更多的人加入到爱心接力当中,让每个人的心中都洋溢着爱的温馨!

我们应该知道:岁月如梭!其实生命,是很短暂,也是很脆弱的东西…… 设置自己的帖子签名请点这里!
离线zhangjingyu

只看该作者 204楼 发表于: 2025-03-28 13:13:16 星期五  点亮(0)
回复202楼 zhangjingyu 的帖子
zhangjingyu benban字段总和为(准确数据):102791
article字段总和减去子版块帖子为:102791
父版块FID14“仙妻凡夫◇爱人伴侣”帖子总数为(数据表查询):1338,准确数据为:1338
父版块FID15“聪儿慧女◇教育成长”帖子总数为(数据表查询):1354,准确数据为:1354
父版块FID47“隐藏版 .. (2024-08-28 22:58)
benban字段是我们后来添加的,以记录准确的版块帖子总数,用来和article字段比对。但说实话,也只是起到了比对的作用,真出现了偏差还需要想办法修改pw_forumdata数据表里面的数据。目前所能提供的信息真的不多,要想查看到底哪里出了问题,一般只能是备份数据后下载到本地,恢复数据后查看数据表。当然了,空间管理面板也能直接查看数据表,但很少操作,似乎有点儿麻烦,不如本地方便。
尊重每位祺师,做有价值的祺文化社区!欢迎光临,并感谢您的支持与陪伴!
我希望能通过这个论坛让更多的朋友更多的关爱自己的家人和朋友,不要等到有一天失去后才知道没有好好的珍惜,才知道
拥有的珍贵!亲爱的们,如果你懂得,请把这份关爱传递,让更多的人加入到爱心接力当中,让每个人的心中都洋溢着爱的温馨!

我们应该知道:岁月如梭!其实生命,是很短暂,也是很脆弱的东西…… 设置自己的帖子签名请点这里!
离线zhangjingyu

只看该作者 203楼 发表于: 2024-08-28 23:04:31 星期三  点亮(0)
到这个帖子,我们两个这个月才发帖110帖。
尊重每位祺师,做有价值的祺文化社区!欢迎光临,并感谢您的支持与陪伴!
我希望能通过这个论坛让更多的朋友更多的关爱自己的家人和朋友,不要等到有一天失去后才知道没有好好的珍惜,才知道
拥有的珍贵!亲爱的们,如果你懂得,请把这份关爱传递,让更多的人加入到爱心接力当中,让每个人的心中都洋溢着爱的温馨!

我们应该知道:岁月如梭!其实生命,是很短暂,也是很脆弱的东西…… 设置自己的帖子签名请点这里!
离线zhangjingyu

只看该作者 202楼 发表于: 2024-08-28 22:58:18 星期三  点亮(0)
benban字段总和为(准确数据):102791
article字段总和减去子版块帖子为:102791
父版块FID14“仙妻凡夫◇爱人伴侣”帖子总数为(数据表查询):1338,准确数据为:1338
父版块FID15“聪儿慧女◇教育成长”帖子总数为(数据表查询):1354,准确数据为:1354
父版块FID47“隐藏版块◇历史版块”帖子总数为(数据表查询):301,准确数据为:301

如果上述两组数据的差值对应不上,请仔细检查数据表pw_forumdata(除去14,15,47外,其它版块的article字段与更新后的benban字段的值应该是一样的)
尊重每位祺师,做有价值的祺文化社区!欢迎光临,并感谢您的支持与陪伴!
我希望能通过这个论坛让更多的朋友更多的关爱自己的家人和朋友,不要等到有一天失去后才知道没有好好的珍惜,才知道
拥有的珍贵!亲爱的们,如果你懂得,请把这份关爱传递,让更多的人加入到爱心接力当中,让每个人的心中都洋溢着爱的温馨!

我们应该知道:岁月如梭!其实生命,是很短暂,也是很脆弱的东西…… 设置自己的帖子签名请点这里!
离线zhangjingyu

只看该作者 201楼 发表于: 2022-11-22 15:45:56 星期二  点亮(0)
benban字段总和为(准确数据):95402
article字段总和减去子版块帖子为:95402
父版块FID14“仙妻凡夫◇爱人伴侣”帖子总数为(数据表查询):1267,准确数据为:1267
父版块FID15“聪儿慧女◇教育成长”帖子总数为(数据表查询):1102,准确数据为:1102
父版块FID47“隐藏版块◇历史版块”帖子总数为(数据表查询):290,准确数据为:290

如果上述两组数据的差值对应不上,请仔细检查数据表pw_forumdata(除去14,15,47外,其它版块的article字段与更新后的benban字段的值应该是一样的)
尊重每位祺师,做有价值的祺文化社区!欢迎光临,并感谢您的支持与陪伴!
我希望能通过这个论坛让更多的朋友更多的关爱自己的家人和朋友,不要等到有一天失去后才知道没有好好的珍惜,才知道
拥有的珍贵!亲爱的们,如果你懂得,请把这份关爱传递,让更多的人加入到爱心接力当中,让每个人的心中都洋溢着爱的温馨!

我们应该知道:岁月如梭!其实生命,是很短暂,也是很脆弱的东西…… 设置自己的帖子签名请点这里!
离线zhangjingyu

只看该作者 200楼 发表于: 2022-07-04 22:04:22 星期一  点亮(0)
这几个月才1200多帖,都偷懒了啊。
尊重每位祺师,做有价值的祺文化社区!欢迎光临,并感谢您的支持与陪伴!
我希望能通过这个论坛让更多的朋友更多的关爱自己的家人和朋友,不要等到有一天失去后才知道没有好好的珍惜,才知道
拥有的珍贵!亲爱的们,如果你懂得,请把这份关爱传递,让更多的人加入到爱心接力当中,让每个人的心中都洋溢着爱的温馨!

我们应该知道:岁月如梭!其实生命,是很短暂,也是很脆弱的东西…… 设置自己的帖子签名请点这里!