博客之家
  • 博客首页
  • 博客導航
  • 好文分享
  • 文章投稿
  • 给我留言
首页 未分类 正文

Emlog gid自动插入断号id的方法

博客之家 2015-01-04 10:50 未分类 阅读 6.44w

如果大家使用过WordPress建博客一定会知道文章ID是不连续的,网上有很多解决方法的,这里就不多说了,因为本博客是使用Emlog博客程序的,最近看到有许多朋友提到emlog由于后台删除文章那么gid自增就会出现断号了,其实断号问题解决很方便,只要在添加文章的时候判断gid之前的有没有断号问题,有的话直接插入,没有的话自增。



我这里的解决方法是这样的,我把gid自增段顺序读取作为值写入数组,自增段是从1开始的,但是数组键值是0开始的,那么先把数组($gidarr[0]='0')赋值掉,然后把$gidarr[]=gid,然后只要发现$gidarr键和键值不等就是断号了。



找到我们的addlog添加文章和页面函数。路径在include/model/log_model.php。



原始代码:

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



修改为:

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;
}



通过改变是否需要插入语句添加gid和gid值,来自增或者插入。 假如你有多篇文章删除,添加一篇的话,只有从开始的断号,慢慢补全断号。



此段代码已经过我的测试,应该是没有问题的,但是由于代码涉及到更改程序內核,所以李明仍然建议你在使用这段代码之前先好备份,然后再测试。

文章作者:博客之家
文章標題:Emlog gid自动插入断号id的方法
文章鏈接:https://www.likinming.com/412.html
本站所有文章除特別聲明外,均採用 CC BY-NC-SA 4.0 許可協議,轉載請註明來自博客之家 !

📚 推荐阅读

  • SEO学习思路
  • 过简约生活
  • 让Emlog评论支持UBB代码
  • 中国刀魂
  • 知足,才是最頂級的運氣
  • 释放压力,让自己轻装远行
  • 草根创业,要联合而非单干!
  • 讓你內心變強大的26句話

做一个有高度的标题党难吗?
« 上一篇 2015-01-05
节日暴饮暴食之后怎么办
下一篇 » 2015-01-01

发表评论

请输入验证码

评论列表(16条)

  • avatar
    迷糊小侠2015-01-14 13:12
    我用的分类目录加别名,都没注意到这些
  • avatar
    森灭2015-01-07 12:46
    很不错的样子,可是我不用emlog
  • avatar
    小劣博客2015-01-06 23:19
    学习了,其实对我来说断号好像没什么意义,不是强迫症一般都不会在乎吧
  • avatar
    灰常记忆2015-01-05 15:52
    懒得折腾这个
  • avatar
    免费部落2015-01-05 08:43
    没有用过Emlog的票过!
  • avatar
    蓝色悠悠2015-01-04 21:27
    那要是有草稿怎么办呢?也占用一个GID?要是隔了很久才完稿而修改了发布时间那这篇文章会排列在哪个位置?按时间?还是按GID?请教下~
  • commentator
    李明 2015-01-04 21:37
    @蓝色悠悠:草稿也是一个GID的,文章id是包括草稿的id,不会重复的。
  • commentator
    蓝色悠悠 2015-01-04 22:43
    @李明:俺的草稿箱里有十多篇,都两年了,这要是想完稿发布的话肯定得修改发布时间了,那么GID是不能变了哦……
  • commentator
    李明 2015-01-05 06:54
    @蓝色悠悠:我的草稿箱有30多篇沒法完成的文章,在发布文章时只要修改发布时间就可以了,GID是不变的。
  • avatar
    瑾瑜2015-01-04 19:02
    所以不用id作为链接,看着别扭。
  • avatar
    WingsBlog2015-01-04 15:54
    这么改好像很容易出问题
  • commentator
    李明 2015-01-05 08:55
    @WingsBlog:建议在使用这段代码之前先好备份,然后再测试。
  • avatar
    传递分享网2015-01-04 15:02
    倒没注意到这些,不删除文章应该就没有关系吧?
  • commentator
    李明 2015-01-05 08:59
    @传递分享网:之前因使用了一个投稿插件引来很多无聊投稿,我一下子在后台删除了很多文章,所以要补回被删的文章id。
  • avatar
    王语双2015-01-04 13:57
    这功能可以有。
    不过,我基本上文章发了后不更改,也不随便删除的。
1 2 »

搜尋有價值的

热门文章

  • TOP1
    博客之家今天正式上線
    14年前 202.38w
  • TOP2
    博客之家导航源码分享
    13年前 102.62w
  • TOP3
    李明的鲜果店
    9年前 87.76w
  • TOP4
    iPhone6 ios8不显示通话记录处理方法
    12年前 60.42w
  • TOP5
    给我们投稿
    14年前 56.85w
  • TOP6
    超级SEO外链工具源码分享
    14年前 52.06w
  • TOP7
    超级SEO外链工具
    14年前 40.03w
  • TOP8
    我的人生我作主——李明
    13年前 39.83w
  • TOP9
    腾讯电脑管家误报网站的申诉方法
    9年前 34.42w
  • TOP10
    博客之家改版成功
    14年前 29.41w
  • TOP11
    利用:before选择器给你的网站Logo添加扫光特效
    11年前 27.87w
  • TOP12
    多做运动的好处
    13年前 24.61w

最新评论

  • 博客之家5 个月前
    藏福守心,遠離是非,日子平穩,歲月安康
  • 张赛博客6 个月前
    有时候,错误的路上,努力越多,反而是沉没...
  • atmp1 年前
    心安即是归处
  • 博客之家1 年前
    @Eps工具网:Hi,午安...
  • Eps工具网1 年前
    早晨起来
  • Eps工具网1 年前
    来逛逛
  • Eps工具网1 年前
    Eps工具网
  • 今日头条新闻2021-07-01 17:33
    文章不错交个朋友
  • 栾。2021-05-04 22:59
    看看
  • 夏草2021-02-22 10:27
    远古外星人 (2009-2019)史前...

友情連結

  • A TECH ONE
  • EPS工具網
  • 2W工具網
  • 小杰工具箱
  • 舍力博客
  • 提交收錄
Copyright © 2026 博客之家 版權所有
關於本站| 免責聲明| sitemap| 簡體| 繁體
内容受版权保护,禁止复制!