当前位置: 首页 >> 常见问题 >> ZBlogPHP文章ID不连续的问题该如何解决? >> 正文

ZBlogPHP文章ID不连续的问题该如何解决?

2015年01月22日 00:03:07    作者:zoulinss    分类:常见问题     评论(0)

    很多用Z-BLOG PHP的朋友会发现一个问题,写了一些文章,因为某些原因删除了某些文章,会造成文章ID的连续性被断开。俗话说高手在民间,嘉绵之恋通过多方搜集,终于找到了解决办法。

    复制下面这段PHP脚本到你的网站空间中运行,可以完美解决ID不连续的问题,强迫症治愈神器。

<?php
$hostname_blog = "localhost";//数据库地址
$database_blog = "test";//数据库名
$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下面去了... 暂时还没办法解决。

温馨提示:测试前请备份好您的数据库,避免意外情况发生。


文章参考至鸟儿博客:http://www.birdol.com/article/740.html

转载请注明出处为“本文转载于『嘉绵之恋』原地址http://www.zl266.com/post/128.html

0分/0个投票

评论

发表评论   
*昵称邮箱网址