Emlog gid 文章 ID 自增断号自动插入

Emlog 文章连接使用 gid 自增号作为文章的 ID,但是由于后台有删除文章的功能,一旦删除文章那么 gid 自增就会出现断号。

其实断号问题解决很方便,只要在添加文章的时候判断 gid 之前的有没有断号问题,有的话直接插入,没有的话自增。

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

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

原始代码:

  1. /**
  2. * 添加文章、页面
  3. *
  4. * @param array $logData
  5. * @return int
  6. */
  7. function addlog($logData) {
  8. $kItem = array();
  9. $dItem = array();
  10. foreach ($logData as $key => $data) {
  11. $kItem[] = $key;
  12. $dItem[] = $data;
  13. }
  14. $field = implode(‘,’, $kItem);
  15. $values = “‘” . implode(“‘,’”$dItem) . “‘”;
  16. $this->db->query(“INSERT INTO “ . DB_PREFIX . “blog ($field) VALUES ($values)”);
  17. $logid = $this->db->insert_id();
  18. return $logid;
  19. }

修改为:

  1. /**
  2. * 添加文章、页面
  3. *
  4. * @param array $logData
  5. * @return int
  6. */
  7. function addlog($logData) {
  8. $kItem = array();
  9. $dItem = array();
  10. foreach ($logData as $key => $data) {
  11. $kItem[] = $key;
  12. $dItem[] = $data;
  13. }
  14. $field = implode(‘,’, $kItem);
  15. $values = “‘” . implode(“‘,’”$dItem) . “‘”;
  16. $this->db->query(“INSERT INTO “ . DB_PREFIX . “blog ($field) VALUES ($values)”);
  17. $logid = $this->db->insert_id();
  18. return $logid;
  19. }

通过改变是否需要插入语句添加 gid 和 gid 值,来自增或者插入。

假如你有多篇文章删除,添加一篇的话,只有从开始的断号,慢慢补全断号。

声明:本网站发布的内容(图片、视频和文字)以原创、转载和分享网络内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:147-5673-5673;邮箱:hostpc@qq.com
文章资讯

EMLOG自定义修改浏览量

2022-6-11 20:31:35

文章资讯

用对象存储挖矿教程:不用买硬盘!来看下AWS推出的Chia奇亚币云挖矿解决方案

2022-6-11 20:53:18

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索

Warning: error_log(/www/wwwroot/www.hostpc.cn/wp-content/plugins/spider-analyser/#log/log-2413.txt): failed to open stream: No such file or directory in /www/wwwroot/www.hostpc.cn/wp-content/plugins/spider-analyser/spider.class.php on line 3014