emlog文章链接id断号修复

我们在使用emlog系统发布文章再删除如果这时候再发布文章会出现文章id断号的情况,有的站长有强迫症,文章id不连着加感觉很不舒服,本教程教大家用两种方法修复文章id断号。

方法一、利用数据库修改

进入数据库后台找到emlog_blog表,打开表后会看到gid序号,如下图。

数据库emlog_bolg表

可以在上面直接修改gid。这里建议先备份数据库再操作,不然玩坏数据库就麻烦了。

方法二、使用代码修改
原理介绍:这里把文章的gid自增段顺序读取作为值写入数组,自增段是从1开始的,但是数组键值是0开始的,那么先把数组($gidarr[0]='0')赋值掉,然后使$gidarr[]=gid,只要发现$gidarr键和键值不等就是断号了
大概原理就是这样,不懂没关系只要我们动手能力强也是可以实现的

操作步骤:
1、找到并且打开include/model/log_model.php文件(注意这是模板理解)

2、将下面的代码:

/**
* 添加文章、页面
*
* @param array $logData
* @return int
*/
function addlog($logData) {
$kItem = array();
$dItem = array();
foreach ($logData as $key => $data) {
$kItem[] = $key;
$dItem[] = $data;
}
$field = implode(',', $kItem);
$values = "'" . implode("','", $dItem) . "'";
$this->db->query("INSERT INTO " . DB_PREFIX . "blog ($field) VALUES ($values)");
$logid = $this->db->insert_id();
return $logid;
}
替换为:
/**
* 添加文章、页面
*
* @param array $logData
* @return int
*/
function addlog($logData) {
$kItem = array();
$dItem = array();
foreach ($logData as $key => $data) {
$kItem[] = $key;
$dItem[] = $data;
}
$field = implode(',', $kItem);
$values = "'" . implode("','", $dItem) . "'";
$gidarr[0]='0';
$res = $this->db->query("SELECT gid From  " . DB_PREFIX . "blog ORDER BY gid ASC");
while ($row = $this->db->fetch_array($res)) {
$gidarr[] = $row['gid'];
}
foreach($gidarr as $key=>$val){
if($key!=$val){
$field = 'gid,'.$field;
$values = "'".$key."',".$values;
break;
}
}
$this->db->query("INSERT INTO " . DB_PREFIX . "blog ($field) VALUES ($values)");
$logid = $this->db->insert_id();
return $logid;
}

emlog文章id断号问题的解决方法就分享到这里吧,最后还是要提醒大家不管用这两种方法的那一种操作前都要备份,修改后出现问题方便恢复。

乐乐网所有文章如无特别注明均为原创。作者:乐乐站长复制或转载请以超链接形式注明转自 乐乐网
原文地址《emlog文章链接id断号修复

相关推荐

发表评论

路人甲路人甲 表情
Ctrl+Enter快速提交

表情包表情包表情包表情包表情包表情包表情包表情包表情包表情包表情包表情包表情包表情包表情包表情包表情包表情包表情包表情包表情包表情包表情包表情包表情包表情包表情包表情包表情包表情包

网友评论(0)