• 9358阅读
  • 203回复

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

上一主题 下一主题
离线zhangjingyu

只看该作者 58楼 发表于: 2019-01-19 19:00:55 星期六  点亮(0)
由于需要减去子版块的帖子总数,然而这个和怎么求呢?搜索了一番也没有找到想要的答案,没办法只能自己瞎试验了。
  1. SELECT SUM(article) AS sumarticle2 FROM pw_forumdata where fid='18' and fid='19'
这个不行,结果显示null;
  1. SELECT SUM(article) AS sumarticle2 FROM pw_forumdata where fid='18'
这个可以单独查询出fid18的帖子数;但多个条件,如何联合查询求和呢?后来想到,既然“and”不行,那“or”呢?结果一试验,成功了!
  1. SELECT SUM(article) AS sumarticle2 FROM pw_forumdata where fid='18' or fid='19'
显示结果为92,正好是68+24。
哈哈,没想到被自己瞎蒙蒙出来了,真是万万没想到的啊。
尊重每位祺师,做有价值的祺文化社区!欢迎光临,并感谢您的支持与陪伴!
我希望能通过这个论坛让更多的朋友更多的关爱自己的家人和朋友,不要等到有一天失去后才知道没有好好的珍惜,才知道
拥有的珍贵!亲爱的们,如果你懂得,请把这份关爱传递,让更多的人加入到爱心接力当中,让每个人的心中都洋溢着爱的温馨!

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

只看该作者 59楼 发表于: 2019-01-19 19:12:24 星期六  点亮(0)
文件运行结果:
benban字段总和为:32512
article字段总和减去子版块帖子为:32516

站点信息:主题2376 帖子32516
32512是准确数据,32516是从pw_forumdata表里查询出来的数据,终于对应上了。
尊重每位祺师,做有价值的祺文化社区!欢迎光临,并感谢您的支持与陪伴!
我希望能通过这个论坛让更多的朋友更多的关爱自己的家人和朋友,不要等到有一天失去后才知道没有好好的珍惜,才知道
拥有的珍贵!亲爱的们,如果你懂得,请把这份关爱传递,让更多的人加入到爱心接力当中,让每个人的心中都洋溢着爱的温馨!

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

只看该作者 60楼 发表于: 2019-01-19 21:27:41 星期六  点亮(0)
这到底是什么意思呢?
这里面有24个帖子不能编辑。刚才用手机核对benban字段的和,算了好几遍都是32507,用语句"SELECT SUM(benban) AS sumbenban FROM pw_forumdata"查询就是32512,别提多郁闷了。最后总算看明白了,原来版块fid25还有5个帖子呢,怎么就没看到呢?
它们是主题2823的18245(帖子pid)、18256、18275、18276、18277(正好是157到161楼)。还是老问题,拆分后不能编辑,提示“帖子id非法”,自然还是版块fid不对,应该是由表里的25改为6。
尊重每位祺师,做有价值的祺文化社区!欢迎光临,并感谢您的支持与陪伴!
我希望能通过这个论坛让更多的朋友更多的关爱自己的家人和朋友,不要等到有一天失去后才知道没有好好的珍惜,才知道
拥有的珍贵!亲爱的们,如果你懂得,请把这份关爱传递,让更多的人加入到爱心接力当中,让每个人的心中都洋溢着爱的温馨!

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

只看该作者 61楼 发表于: 2019-01-19 21:41:19 星期六  点亮(0)
上传个最后的截图对比,到底差在哪里也不想研究了,其实也没用。字段article画横线的是子版块,不计算在帖子总数里面的,还在再加上版块fid47的3350(然而子版块和24+3219+72=3315),正好是32516;benban字段的和也正好是32512。
尊重每位祺师,做有价值的祺文化社区!欢迎光临,并感谢您的支持与陪伴!
我希望能通过这个论坛让更多的朋友更多的关爱自己的家人和朋友,不要等到有一天失去后才知道没有好好的珍惜,才知道
拥有的珍贵!亲爱的们,如果你懂得,请把这份关爱传递,让更多的人加入到爱心接力当中,让每个人的心中都洋溢着爱的温馨!

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

只看该作者 62楼 发表于: 2019-01-19 21:43:01 星期六  点亮(0)
php文件上传展示下:
  1. <?php
  2. require_once('global.php');
  3. //benban='替换article=',注意最后面几处
  4. $rs2=$db->get_one("SELECT COUNT(*) AS topic FROM pw_threads WHERE fid='2'");
  5. $ts2=$db->get_one("SELECT COUNT(*) AS posts FROM pw_posts WHERE fid='2'");
  6. $article2=$ts2['posts']+$rs2['topic'];
  7. $db -> update("UPDATE pw_forumdata SET benban='$article2' where fid='2'");
  8. $rs3=$db->get_one("SELECT COUNT(*) AS topic FROM pw_threads WHERE fid='3'");
  9. $ts3=$db->get_one("SELECT COUNT(*) AS posts FROM pw_posts WHERE fid='3'");
  10. $article3=$ts3['posts']+$rs3['topic'];
  11. $db -> update("UPDATE pw_forumdata SET benban='$article3' where fid='3'");
  12. $rs4=$db->get_one("SELECT COUNT(*) AS topic FROM pw_threads WHERE fid='4'");
  13. $ts4=$db->get_one("SELECT COUNT(*) AS posts FROM pw_posts WHERE fid='4'");
  14. $article4=$ts4['posts']+$rs4['topic'];
  15. $db -> update("UPDATE pw_forumdata SET benban='$article4' where fid='4'");
  16. $rs5=$db->get_one("SELECT COUNT(*) AS topic FROM pw_threads WHERE fid='5'");
  17. $ts5=$db->get_one("SELECT COUNT(*) AS posts FROM pw_posts WHERE fid='5'");
  18. $article5=$ts5['posts']+$rs5['topic'];
  19. $db -> update("UPDATE pw_forumdata SET benban='$article5' where fid='5'");
  20. $rs6=$db->get_one("SELECT COUNT(*) AS topic FROM pw_threads WHERE fid='6'");
  21. $ts6=$db->get_one("SELECT COUNT(*) AS posts FROM pw_posts WHERE fid='6'");
  22. $article6=$ts6['posts']+$rs6['topic'];
  23. $db -> update("UPDATE pw_forumdata SET benban='$article6' where fid='6'");
  24. $rs7=$db->get_one("SELECT COUNT(*) AS topic FROM pw_threads WHERE fid='7'");
  25. $ts7=$db->get_one("SELECT COUNT(*) AS posts FROM pw_posts WHERE fid='7'");
  26. $article7=$ts7['posts']+$rs7['topic'];
  27. $db -> update("UPDATE pw_forumdata SET benban='$article7' where fid='7'");
  28. $rs12=$db->get_one("SELECT COUNT(*) AS topic FROM pw_threads WHERE fid='12'");
  29. $ts12=$db->get_one("SELECT COUNT(*) AS posts FROM pw_posts WHERE fid='12'");
  30. $article12=$ts12['posts']+$rs12['topic'];
  31. $db -> update("UPDATE pw_forumdata SET benban='$article12' where fid='12'");
  32. $rs13=$db->get_one("SELECT COUNT(*) AS topic FROM pw_threads WHERE fid='13'");
  33. $ts13=$db->get_one("SELECT COUNT(*) AS posts FROM pw_posts WHERE fid='13'");
  34. $article13=$ts13['posts']+$rs13['topic'];
  35. $db -> update("UPDATE pw_forumdata SET benban='$article13' where fid='13'");
  36. $rs14=$db->get_one("SELECT COUNT(*) AS topic FROM pw_threads WHERE fid='14'");
  37. $ts14=$db->get_one("SELECT COUNT(*) AS posts FROM pw_posts WHERE fid='14'");
  38. $article14=$ts14['posts']+$rs14['topic'];
  39. $db -> update("UPDATE pw_forumdata SET benban='$article14' where fid='14'");
  40. $rs15=$db->get_one("SELECT COUNT(*) AS topic FROM pw_threads WHERE fid='15'");
  41. $ts15=$db->get_one("SELECT COUNT(*) AS posts FROM pw_posts WHERE fid='15'");
  42. $article15=$ts15['posts']+$rs15['topic'];
  43. $db -> update("UPDATE pw_forumdata SET benban='$article15' where fid='15'");
  44. $rs16=$db->get_one("SELECT COUNT(*) AS topic FROM pw_threads WHERE fid='16'");
  45. $ts16=$db->get_one("SELECT COUNT(*) AS posts FROM pw_posts WHERE fid='16'");
  46. $article16=$ts16['posts']+$rs16['topic'];
  47. $db -> update("UPDATE pw_forumdata SET benban='$article16' where fid='16'");
  48. $rs17=$db->get_one("SELECT COUNT(*) AS topic FROM pw_threads WHERE fid='17'");
  49. $ts17=$db->get_one("SELECT COUNT(*) AS posts FROM pw_posts WHERE fid='17'");
  50. $article17=$ts17['posts']+$rs17['topic'];
  51. $db -> update("UPDATE pw_forumdata SET benban='$article17' where fid='17'");
  52. $rs18=$db->get_one("SELECT COUNT(*) AS topic FROM pw_threads WHERE fid='18'");
  53. $ts18=$db->get_one("SELECT COUNT(*) AS posts FROM pw_posts WHERE fid='18'");
  54. $article18=$ts18['posts']+$rs18['topic'];
  55. $db -> update("UPDATE pw_forumdata SET benban='$article18' where fid='18'");
  56. $rs19=$db->get_one("SELECT COUNT(*) AS topic FROM pw_threads WHERE fid='19'");
  57. $ts19=$db->get_one("SELECT COUNT(*) AS posts FROM pw_posts WHERE fid='19'");
  58. $article19=$ts19['posts']+$rs19['topic'];
  59. $db -> update("UPDATE pw_forumdata SET benban='$article19' where fid='19'");
  60. $rs20=$db->get_one("SELECT COUNT(*) AS topic FROM pw_threads WHERE fid='20'");
  61. $ts20=$db->get_one("SELECT COUNT(*) AS posts FROM pw_posts WHERE fid='20'");
  62. $article20=$ts20['posts']+$rs20['topic'];
  63. $db -> update("UPDATE pw_forumdata SET benban='$article20' where fid='20'");
  64. $rs21=$db->get_one("SELECT COUNT(*) AS topic FROM pw_threads WHERE fid='21'");
  65. $ts21=$db->get_one("SELECT COUNT(*) AS posts FROM pw_posts WHERE fid='21'");
  66. $article21=$ts21['posts']+$rs21['topic'];
  67. $db -> update("UPDATE pw_forumdata SET benban='$article21' where fid='21'");
  68. $rs25=$db->get_one("SELECT COUNT(*) AS topic FROM pw_threads WHERE fid='25'");
  69. $ts25=$db->get_one("SELECT COUNT(*) AS posts FROM pw_posts WHERE fid='25'");
  70. $article25=$ts25['posts']+$rs25['topic'];
  71. $db -> update("UPDATE pw_forumdata SET benban='$article25' where fid='25'");
  72. $rs26=$db->get_one("SELECT COUNT(*) AS topic FROM pw_threads WHERE fid='26'");
  73. $ts26=$db->get_one("SELECT COUNT(*) AS posts FROM pw_posts WHERE fid='26'");
  74. $article26=$ts26['posts']+$rs26['topic'];
  75. $db -> update("UPDATE pw_forumdata SET benban='$article26' where fid='26'");
  76. $rs28=$db->get_one("SELECT COUNT(*) AS topic FROM pw_threads WHERE fid='28'");
  77. $ts28=$db->get_one("SELECT COUNT(*) AS posts FROM pw_posts WHERE fid='28'");
  78. $article28=$ts28['posts']+$rs28['topic'];
  79. $db -> update("UPDATE pw_forumdata SET benban='$article28' where fid='28'");
  80. $rs29=$db->get_one("SELECT COUNT(*) AS topic FROM pw_threads WHERE fid='29'");
  81. $ts29=$db->get_one("SELECT COUNT(*) AS posts FROM pw_posts WHERE fid='29'");
  82. $article29=$ts29['posts']+$rs29['topic'];
  83. $db -> update("UPDATE pw_forumdata SET benban='$article29' where fid='29'");
  84. $rs32=$db->get_one("SELECT COUNT(*) AS topic FROM pw_threads WHERE fid='32'");
  85. $ts32=$db->get_one("SELECT COUNT(*) AS posts FROM pw_posts WHERE fid='32'");
  86. $article32=$ts32['posts']+$rs32['topic'];
  87. $db -> update("UPDATE pw_forumdata SET benban='$article32' where fid='32'");
  88. $rs33=$db->get_one("SELECT COUNT(*) AS topic FROM pw_threads WHERE fid='33'");
  89. $ts33=$db->get_one("SELECT COUNT(*) AS posts FROM pw_posts WHERE fid='33'");
  90. $article33=$ts33['posts']+$rs33['topic'];
  91. $db -> update("UPDATE pw_forumdata SET benban='$article33' where fid='33'");
  92. $rs39=$db->get_one("SELECT COUNT(*) AS topic FROM pw_threads WHERE fid='39'");
  93. $ts39=$db->get_one("SELECT COUNT(*) AS posts FROM pw_posts WHERE fid='39'");
  94. $article39=$ts39['posts']+$rs39['topic'];
  95. $db -> update("UPDATE pw_forumdata SET benban='$article39' where fid='39'");
  96. $rs40=$db->get_one("SELECT COUNT(*) AS topic FROM pw_threads WHERE fid='40'");
  97. $ts40=$db->get_one("SELECT COUNT(*) AS posts FROM pw_posts WHERE fid='40'");
  98. $article40=$ts40['posts']+$rs40['topic'];
  99. $db -> update("UPDATE pw_forumdata SET benban='$article40' where fid='40'");
  100. $rs41=$db->get_one("SELECT COUNT(*) AS topic FROM pw_threads WHERE fid='41'");
  101. $ts41=$db->get_one("SELECT COUNT(*) AS posts FROM pw_posts WHERE fid='41'");
  102. $article41=$ts41['posts']+$rs41['topic'];
  103. $db -> update("UPDATE pw_forumdata SET benban='$article41' where fid='41'");
  104. $rs43=$db->get_one("SELECT COUNT(*) AS topic FROM pw_threads WHERE fid='43'");
  105. $ts43=$db->get_one("SELECT COUNT(*) AS posts FROM pw_posts WHERE fid='43'");
  106. $article43=$ts43['posts']+$rs43['topic'];
  107. $db -> update("UPDATE pw_forumdata SET benban='$article43' where fid='43'");
  108. $rs44=$db->get_one("SELECT COUNT(*) AS topic FROM pw_threads WHERE fid='44'");
  109. $ts44=$db->get_one("SELECT COUNT(*) AS posts FROM pw_posts WHERE fid='44'");
  110. $article44=$ts44['posts']+$rs44['topic'];
  111. $db -> update("UPDATE pw_forumdata SET benban='$article44' where fid='44'");
  112. $rs46=$db->get_one("SELECT COUNT(*) AS topic FROM pw_threads WHERE fid='46'");
  113. $ts46=$db->get_one("SELECT COUNT(*) AS posts FROM pw_posts WHERE fid='46'");
  114. $article46=$ts46['posts']+$rs46['topic'];
  115. $db -> update("UPDATE pw_forumdata SET benban='$article46' where fid='46'");
  116. $rs47=$db->get_one("SELECT COUNT(*) AS topic FROM pw_threads WHERE fid='47'");
  117. $ts47=$db->get_one("SELECT COUNT(*) AS posts FROM pw_posts WHERE fid='47'");
  118. $article47=$ts47['posts']+$rs47['topic'];
  119. $db -> update("UPDATE pw_forumdata SET benban='$article47' where fid='47'");
  120. $rs48=$db->get_one("SELECT COUNT(*) AS topic FROM pw_threads WHERE fid='48'");
  121. $ts48=$db->get_one("SELECT COUNT(*) AS posts FROM pw_posts WHERE fid='48'");
  122. $article48=$ts48['posts']+$rs48['topic'];
  123. $db -> update("UPDATE pw_forumdata SET benban='$article48' where fid='48'");
  124. $rs49=$db->get_one("SELECT COUNT(*) AS topic FROM pw_threads WHERE fid='49'");
  125. $ts49=$db->get_one("SELECT COUNT(*) AS posts FROM pw_posts WHERE fid='49'");
  126. $article49=$ts49['posts']+$rs49['topic'];
  127. $db -> update("UPDATE pw_forumdata SET benban='$article49' where fid='49'");
  128. $rs50=$db->get_one("SELECT COUNT(*) AS topic FROM pw_threads WHERE fid='50'");
  129. $ts50=$db->get_one("SELECT COUNT(*) AS posts FROM pw_posts WHERE fid='50'");
  130. $article50=$ts50['posts']+$rs50['topic'];
  131. $db -> update("UPDATE pw_forumdata SET benban='$article50' where fid='50'");
  132. /*****计算含有子版块的父版块帖子总数,更新article时用,取消注释
  133. $sum14=$article14+$article32;
  134. $sum15=$article15+$article18+$article33;
  135. $sum47=$article47+$article19+$article28+$article40;
  136. $db -> update("UPDATE pw_forumdata SET article='$sum14' where fid='14'");
  137. $db -> update("UPDATE pw_forumdata SET article='$sum15' where fid='15'");
  138. $db -> update("UPDATE pw_forumdata SET article='$sum47' where fid='47'");
  139. *****/
  140. $sumbenban=$db->get_one("SELECT SUM(benban) AS sumbenban FROM pw_forumdata");
  141. $sumarticle=$db->get_one("SELECT SUM(article) AS sumarticle FROM pw_forumdata");
  142. $sumarticle2=$db->get_one("SELECT SUM(article) AS sumarticle2 FROM pw_forumdata where fid='18' or fid='19' or fid='28' or fid='32' or fid='33' or fid='40'");
  143. $arts=$sumarticle['sumarticle']-$sumarticle2['sumarticle2'];
  144. echo("<h1>benban字段总和为:{$sumbenban['sumbenban']}</h1>");
  145. echo("<h1>article字段总和减去子版块帖子为:{$arts}</h1>");
  146. ?>
尊重每位祺师,做有价值的祺文化社区!欢迎光临,并感谢您的支持与陪伴!
我希望能通过这个论坛让更多的朋友更多的关爱自己的家人和朋友,不要等到有一天失去后才知道没有好好的珍惜,才知道
拥有的珍贵!亲爱的们,如果你懂得,请把这份关爱传递,让更多的人加入到爱心接力当中,让每个人的心中都洋溢着爱的温馨!

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

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

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

只看该作者 64楼 发表于: 2019-01-19 22:00:16 星期六  点亮(0)
备份数据,准备真正在论坛实际操作了,然后研究到底是什么原因造成的数据发生变化?
尊重每位祺师,做有价值的祺文化社区!欢迎光临,并感谢您的支持与陪伴!
我希望能通过这个论坛让更多的朋友更多的关爱自己的家人和朋友,不要等到有一天失去后才知道没有好好的珍惜,才知道
拥有的珍贵!亲爱的们,如果你懂得,请把这份关爱传递,让更多的人加入到爱心接力当中,让每个人的心中都洋溢着爱的温馨!

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

只看该作者 65楼 发表于: 2019-01-19 22:07:40 星期六  点亮(0)
站点信息:主题2376 帖子32536

更新article字段结果:
benban字段总和为:0
article字段总和减去子版块帖子为:32532

更新benban字段结果:
benban字段总和为:32532
article字段总和减去子版块帖子为:32532
尊重每位祺师,做有价值的祺文化社区!欢迎光临,并感谢您的支持与陪伴!
我希望能通过这个论坛让更多的朋友更多的关爱自己的家人和朋友,不要等到有一天失去后才知道没有好好的珍惜,才知道
拥有的珍贵!亲爱的们,如果你懂得,请把这份关爱传递,让更多的人加入到爱心接力当中,让每个人的心中都洋溢着爱的温馨!

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

只看该作者 66楼 发表于: 2019-01-19 22:13:21 星期六  点亮(0)
经过多次的测试,反复修改,本论坛实际执行,非常的快速啊。
尊重每位祺师,做有价值的祺文化社区!欢迎光临,并感谢您的支持与陪伴!
我希望能通过这个论坛让更多的朋友更多的关爱自己的家人和朋友,不要等到有一天失去后才知道没有好好的珍惜,才知道
拥有的珍贵!亲爱的们,如果你懂得,请把这份关爱传递,让更多的人加入到爱心接力当中,让每个人的心中都洋溢着爱的温馨!

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

只看该作者 67楼 发表于: 2019-01-19 22:24:55 星期六  点亮(0)
首先测试,主题移动情况对版块帖子数的影响。
源版块48:新发主题1+3个回帖,282/13646
目标版块28:204/3219
尊重每位祺师,做有价值的祺文化社区!欢迎光临,并感谢您的支持与陪伴!
我希望能通过这个论坛让更多的朋友更多的关爱自己的家人和朋友,不要等到有一天失去后才知道没有好好的珍惜,才知道
拥有的珍贵!亲爱的们,如果你懂得,请把这份关爱传递,让更多的人加入到爱心接力当中,让每个人的心中都洋溢着爱的温馨!

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