前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >解决Typecho文章cid不连续

解决Typecho文章cid不连续

作者头像
季春二九
发布2023-03-22 13:41:55
4170
发布2023-03-22 13:41:55
举报
文章被收录于专栏:季春二九季春二九

Typecho下文章编号(cid)不连续,虽然不影响什么,也无关紧要,但是对于有强迫症的人(比如我)来说,真的是无法忍受。还好有大佬提供了解决办法。

将以下代码保存为php文件,上传至网站根目录,在浏览器地址栏访问一下即可。

特别提醒:请在PHP7以下版本的服务器上执行。本操作涉及数据库,请提前做好备份工作。

解决cid不连续的问题 Tips 文章cid重新排列后,上传的附件所属文章可能不正确,需手动修改。

代码语言:javascript
复制
    <?php
    $hostname_blog = "localhost";
    $database_blog = "数据库名";
    $username_blog = "数据库用户名";
    $password_blog = "数据库密码";
    $blog = mysql_pconnect($hostname_blog, $username_blog, $password_blog) or trigger_error(mysql_error(),E_USER_ERROR); 
    
    $no = 1;
    
    function change_id($cid)
    {
        global $no; 
    
        // 修改post cid,并修改分类、标签、自定义字段、评论的对应关系
        $sql = 'update typecho_contents set cid = ' . $no . ' where cid = ' . $cid;
        mysql_query($sql);
        $sql = 'update typecho_relationships set cid = ' . $no . ' where cid = ' . $cid;
        mysql_query($sql);
        $sql = 'update typecho_comments set cid = ' . $no . ' where cid = ' . $cid;
        mysql_query($sql);
    
        $no = $no + 1;
    }
    
    mysql_select_db($database_blog, $blog);
    $query_postRecord = "SELECT cid FROM typecho_contents ORDER BY cid ASC";
    $all_postRecord = mysql_query($query_postRecord);
    $row_postRecord = mysql_fetch_assoc($all_postRecord);
    
    do {
        change_id( $row_postRecord['cid'] );    
    } while ($row_postRecord = mysql_fetch_assoc($all_postRecord));
    
    // 重新设置post id自增起点
    mysql_query('alter table typecho_contents AUTO_INCREMENT = ' . $no);
    echo 'ok';
    ?>
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档