前言:
今天的教程是Emlog解决文章gid断号并自动插入断号ID
Emlog文章的ID是使用gid自增号作为文章的ID
由于Emlog后台有删除文章的功能
如果删除文章则gid自增就会出现断号
其实解决断号问题很简单
正文:
在添加文章的时候判断gid之前的有没有断号就可以解决了
有的话直接插入没有的就自增
AIDE技术网在这里的提供两个解决方案
一、数据库修改
找到并且打开数据表emlog_blog
里面有gid序号可以手动修改(此方法不建议大家去操作,容易玩坏数据库,小白用户慎用)
二、代码修改
把gid自增段顺序读取作为值写入数组
自增段是从1开始的,但是数组键值是从0开始的
所以先把数组($gidarr[0]=’0’)赋值掉,然后使$gidarr[]=gid
只要发现$gidarr键和键值不等就是断号了
上面这个是无陌然给你大家说的一个思路
具体操作步骤如下
1、找到并且打开include/model/log_model.php文件
2、找到其中的addlog添加文章和页面函数
没改动之前的代码
/** * 添加文章、页面 * * @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解决文章gid断号并自动插入断号ID的教程就到这里结束了
如果你还有什么不懂的可以直接联系站长或评论区留言
资源均来自第三方,谨慎下载,前往第三方网站下载 解压密码:www.xkwo.com 解压密码:www.xkwo.com 解压密码:www.xkwo.com 解压密码:www.xkwo.com 解压密码:www.xkwo.com 解压密码:www.xkwo.com 解压密码:www.xkwo.com 解压密码:www.xkwo.com