现在位置:首页 » z-blog相关 »

解决Zblogphp文章ID不连续的方法

心岛发布于2015年11月14日  分类: z-blog相关  浏览:2777 人次  评论:1 

很多人用了Z-BLOG PHP版本,写了一些文章,因为某些原因删除了这些文章造成了文章ID的连续性被断开了。我看到鸟儿在博客里面给出了解决办法:复制下面这段PHP脚本到你的网站空间中运行,可以完美解决ID不连续的问题,强迫症治愈神器。本人已经亲测,完全可靠,但是注意:仅适用于Zblog php版本!

<?php
$hostname_blog = "localhost";//数据库地址
$database_blog = "liangxinname";//数据库名
$username_blog = "root";//数据库用户名
$password_blog = "";//数据库密码
$blog = mysql_pconnect($hostname_blog, $username_blog, $password_blog) or trigger_error(mysql_error(),E_USER_ERROR); 

$no = 1;

function change_id($id)
{
    global $no; 
    
    // 修改post id,并修改评论的对应关系
    $sql = 'update zbp_post set log_ID = ' . $no . ' where log_ID = ' . $id;
    mysql_query($sql);
    $sql = 'update zbp_comment set comm_LogID = ' . $no . ' where comm_LogID = ' . $id;
    mysql_query($sql);
    
    $no = $no + 1;
}

mysql_select_db($database_blog, $blog);
$query_postRecord = "SELECT log_ID FROM zbp_post ORDER BY log_ID ASC";
$all_postRecord = mysql_query($query_postRecord);
$row_postRecord = mysql_fetch_assoc($all_postRecord);

do {
    change_id( $row_postRecord['log_ID'] );    
} while ($row_postRecord = mysql_fetch_assoc($all_postRecord));

// 重新设置post id自增起点
mysql_query('alter table zbp_post AUTO_INCREMENT = ' . $no);

echo 'ok';

?>

已知问题:会导致多说等社会化评论插件的评论,错位,比如本来在ID为50的文章下,现在可能跑到ID47下面去了... 没办法解决..(这是必然的,目前没有更好的方法实现了,不过个人觉得已经很完美了,够用即可,不是吗?)

赞 (0次) 打赏
X
打赏方式:
  • 支付宝
  • 微信
  • QQ红包

打开支付宝扫一扫

本文由心岛原创或编辑,转载请保留链接【解决Zblogphp文章ID不连续的方法】http://www.liangxin.name/?post=1065
本文百度已收录,点此查看详细信息
本文标签: 代码修改 网站建设 技巧 z-blog
上一篇: 集邮网厅抢票秘籍:“一元一只猴”活动抢猴攻略
下一篇:Phpmyadmin中批量替换数据的方法
目前有 1 条评论
avatar
该昵称已屏蔽 2015-12-20 21:49回复
{smile:4}{smile:4}{smile:4}谢谢!