解决Emlog文章删除后ID不连续的方法教程

年初的时候可能搬了几次数据,导致实际文章只有五百多而文章ID已经到了一千多,重要的原因emlog在删除文章后或者误操作数据库之后ID就会断掉,现在只需要简单修改一下代码,后面新增文章的时候就会优先选择断掉的文章ID。

修改步骤

1.到路径下的include/model/log_model.php文件,将原始代码如下:

(emlogpro会有点不同可以延续使用)

/**
* 添加文章、页面
*
* @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;
}

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) . \"\'\";
        $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;
    }

3.再次发布文章时断的号就会补过来了

上一篇 WordPress批量修改数据库内文章内容文字关键字标题
下一篇 免费SSL证书申请网址合集

探索站点内容

搜索文章、标签、分类

MediaClaw 社媒虾
MediaClaw 社媒虾
关注公众号
领美团外卖神券
领美团外卖神券
最新评论
15579854855
15579854855
9月15日
安装流程都没有,下载也用不了,浪费时间
小高网
小高网
9月15日
这个还是少用好
06285142
06285142
9月14日
怎么现在都没出绿色版的绿泡泡了。等了一年了呢
小高网
小高网
9月9日
那就找个完整版的安装覆盖上去吧
白添霸霸
白添霸霸
9月9日
精简版安装后在控制面板不显示
小高网
小高网
9月8日
控制面板卸载不了吗
白添霸霸
白添霸霸
9月8日
大佬,安装以后有些软件打不开了,例如CCleaner 7,提示WebView2 Runtime 初始化失败(错误:0x80070002),重装完整版提示安装时出
1
1
8月31日
就是不能处理已安装软件
小高网

小高网管理员

小高网www.xx8g.com

本月创作热力图