找回密码
 立即注册

QQ登录

只需一步,快速开始

Discuz!X3 楼层错乱临时解决方案


经分析,发现在 pre_forum_post中有两个主键,一个是Tid,一个position。可能是升级没有处理好,导致Position中的值不正确。观看如下结果:
SELECTpid,fid,tid,first,,dateline,FROM_UNIXTIME(dateline) as sj,position FROM `pre_forum_post`where tid=155346 order by dateline;
215830fqf2fffn5ejnenzj.gif.thumb.jpg



发现,可以按时间升序排列来修正此错误。
因此可以做如下简单处理以解决楼层错乱问题
1、后台关闭网站,以防在处理期间有人发帖子。
2、修改表中关键字,将Position的主键和自动增长取消。保存。
3、执行如下程序:

  1. @set_time_limit(0);
  2. //connection to db
  3. $mysql_server_name='localhost';
  4. $mysql_username='root';   //改成自己的用户名
  5. $mysql_password='12345678';  //改成自己的密码
  6. $mysql_database='dbname';  //改成自己的数据库名字
  7. $conn=mysql_connect($mysql_server_name,$mysql_username,$mysql_password);
  8. mysql_select_db($mysql_database,$conn);
  9. $table_name="pre_forum_post";   //改成自己的数据表名称

  10. //to correct the error on floors in topics
  11. $sql = "SELECT tid FROM $table_nameWHERE first=1 AND position>1";
  12. $result=mysql_query($sql,$conn);
  13. while ($row=mysql_fetch_array($result))
  14. {
  15.        $n=1;
  16.        $sql="selectpid from $table_name where tid=" . $row["tid"] . " order bydateline asc";
  17.        $rs=mysql_query($sql,$conn);
  18.        while($r=mysql_fetch_array($rs))
  19.        {
  20.           $sql="update $table_name setposition=" . $n . " where pid=" . $r["pid"];
  21.           mysql_query($sql);
  22.           $n++;
  23.        }//end while $r
  24.        mysql_free_result($rs);
  25. } // end while $row
  26. echo "
  27. done with records:" . mysql_num_rows($result);
  28. mysql_free_result($result);
  29. mysql_close($conn);
  30. ?>
复制代码
楼层错误数量多的,可以分批执行。
水平有限,程序执行效率不高,希望大能来指导。

4、恢复数据表Pre_forum_post中Position为主键、自增

刷新有问题的页面,发现已解决。


本教程由无限星辰工作室CRX349独家整理和提供,转载请注明地址,谢谢。本文地址:https://xmspace.net/thread-67-1-1.html
无限星辰工作室  好集导航 Discuz全集下载  星辰站长网  集热爱361  一品文学  手机小游戏合集   海外空间网 星辰api  星辰支付二维码管理平台 LOT智能硬件聚合平台 阿里云服务器 腾讯云服务器
服务Discuz!建站|DiscuzQ配置|二开|小程序|APP|搬家|挂马清理|防护|Win/Linux环境搭建|优化|运维|
服务理念:专业 诚信 友好QQ842062626 服务项目 Q群315524225

发表于 2013-7-17 02:00:05 | 显示全部楼层 |阅读模式

回复 | 使用道具 举报

该帖共收到 0 条回复!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

美图秀

    • 自建远程桌面服务器 rustdesk
    • Discuz!x3.4 账号保镖 自动冻结账号无效解
    • PVE换主板后 网络丢失解决方法
    • Kvm 虚拟机迁移到PVE里面
    • Discuz!x3,4 阿里云DCDN配置获取客户端ip
拖动客服框
Online Service
点击这里给我发消息
点击这里联系我们
微信扫一扫
在线客服
快速回复 返回顶部 返回列表