小李SEO博客

网站优化服务

帝国cms网站新闻文章数据表自增ID继续连续方法

写本文章的起因是有个小伙伴用帝国CMS做了一个小说站点,他发布小说的时候按照每个章节一个信息的业务逻辑,等发布完了以后才发现有个章节遗漏了,如果他继续补上这个章节,由于前台输出排序是按照自增ID来排序的,那么这个补上的章节无疑就会出现再小说最后,肯定是不符合逻辑了!那么需要解决的问题就是:如何在自增数据表内插入一行数据,而且要让ID继续连续!那么有小伙伴会问:直接去数据库改ID不就完事了么?先不说自增ID让不让直接改,就算让改,小说如果有几千章节那不是累死了!

所以解决方案我记录一下:以下案例使用帝国CMS新闻NEWS表做范例。(注意备份你的数据库,切记!)首先我们要解决自增列不能改动ID的问题,使用如下数据库命令:(为什么是3条?答:帝国CMS如果要改动一条内容数据就要涉及到3个表。语句每行是一个,请一条条执行!)ALTER TABLE `phome_ecms_news` CHANGE id id INT(10) UNSIGNED NOT NULL ;ALTER TABLE `phome_ecms_news_index` CHANGE id id INT(10) UNSIGNED NOT NULL ;ALTER TABLE `phome_ecms_news_data_1` CHANGE id id INT(10) UNSIGNED NOT NULL ;

然后我们要取消ID主键问题:alter table phome_ecms_news modify id int(10),drop primary key;alter table phome_ecms_news_index modify id int(10),drop primary key;alter table phome_ecms_news_data_1 modify id int(10),drop primary key;继续,我们查看需要插入的数据之后的ID号:比如说ID:88 后面要插入数据,那么我们就要把ID为88后面所有的ID号都+1,我们才能插入一个ID:89。 (也就让原来的89变成了90, 90变成了91……)

需要用的语句为:update phome_ecms_news set id=id+1 where id>88;update phome_ecms_news_index set id=id+1 where id>88;update phome_ecms_news_data_1 set id=id+1 where id>88;继续:现在我们发布一个信息,就是需要补的那个信息,当然也可以是已经发布过的。我们找到这个文章的ID并记住这个ID,比如说ID为666。

那么我们要把这个ID变成89了!语句:update phome_ecms_news set id=89 where id=666;update phome_ecms_read_zj_index set id=89 where id=666update phome_ecms_read_zj_data_1 set id=89 where id=666这样我们就搞定了插入了!下面再把主键和自增改回去!

恢复主键:alter table phome_ecms_news add primary key(id);alter table phome_ecms_news_index add primary key(id);alter table phome_ecms_news_data_1 add primary key(id);恢复自增:ALTER TABLE `phome_ecms_news` CHANGE id id INT(10) UNSIGNED NOT NULL AUTO_INCREMENT;ALTER TABLE `phome_ecms_news_index` CHANGE id id INT(10) UNSIGNED NOT NULL AUTO_INCREMENT;ALTER TABLE `phome_ecms_news_data_1` CHANGE id id INT(10) UNSIGNED NOT NULL AUTO_INCREMENT;OK了全部搞定了!记得最后在后台-系统-数据更新-更新信息页地址-选择你的数据表,按照ID更新(重要),然后再去生成首页 栏目和所有内容(全部更新打钩),要不然内容URL地址是不会变的哦!

上一篇:帝国cms网站GBK编码使用AJAX提交数据中文乱码解决方法 下一篇:帝国cms跨域上传支持定义返回字段和扩展名插件
相关帝国cms文章阅读
  • 帝国CMS上传附件保持原文件名

    帝国CMS6.6/7.0都有效。 第一步: 找到:/e/class/connect.php 查找: $r[filetype]=GetFiletype($file_name); 在下面加入: $filename2=str_replace($r[filetype],'',$file_name);//获得去掉后缀的文件名$mytype=array(.cod,.jad);//定...

  • 帝国CMS小说模型创建教程和使用!

    小说网站结构跟问答一样。 小说网站栏目: 玄幻小说、小说章节 表结构: 小说栏目一个表,小说章节一个表 新建两个数据表: 小说名称表(保存小说名,小说图片,作者,小说状态等信息...

  • 帝国CMS如果信息带有图片信息,则标题上带有图片标志

    [e:loop={'selfinfo',20,0,0}] ? $newimg=; if(!empty($bqr[titlepic])) { $newimg=img src='http://bbs.zhnews.net/bbs/static/image/filetype/image_s.gif' /; } ? tr class=even td class=title h1a href=?=$bqsr[titleurl]? target=_blank?=sub($bqr[title],0,24,fa...

  • 帝国CMS会员中心模板改造之调用我提交的信息反馈列表

    div style=border:1px solid #ddd; div class=header style=border-bottom:1px solid #ddd我的信息反馈列表/div ul style= ?php $sql=$empire-query(select * from phome_enewsfeedback where userid=$user[userid] order by bid desc limit 100); //查询反馈信...

  • 帝国CMS发布信息时替换正文IMG图片标签里的ALT内容

    最新修改方法解决了修改时重复ALT的问题,请移步:https://www.moyublog.com/notes/963.html 在 e/class/userfun.php 里面增加 //替换正文IMG里的ALT内容function user_imgalt($mid,$f,$isadd,$isq,$value,$cs){$title=$_POST[title...

  • 帝国CMS跳过选择会员类型直接注册方法

    帝国CMS因允许多用户组注册,所以在注册页面会有一个选择注册用户组的界面,即使网站只用了一个用户组也会出现。 如果想去掉这个页面,直接进入注册页面,那么可按以下办法修改 打开...

  • 帝国cms全站去版权方法

    1、后台起始页的版权 目录e/admin/main.php 搜索该页面的帝国俩字,去除所有的帝国字眼。EmpireCMS字眼同理,不过小心别把自定义的字段去了 还有程序版本、开发团队等等 2、后台左上角的logo图片...

  • 帝国CMS给当前信息添加new最新图标

    给当天发布的信息添加一个new最新的小图标。使用灵动标签调用: ul [e:loop={栏目ID,显示条数,操作类型,只显示有标题图片}] ? $newimg=; if(date(m-d,$bqr[truetime])==date(m-d)) { $newimg=img src='New图片地址';...

  • 帝国CMS自定义列表的排序newstime(时间)、onclick(点击或浏览)、plnum(评论)、diggtop、r

    统计记录: select count(*) as total from [!db.pre!]ecms_movie 查询记录: select * from [!db.pre!]ecms_movie order by id desc 注释:[!db.pre!]ecms_movie 为数据表类型(movie是电影数据表) desc - 降序排列 ASC - 升序排列 id...

  • 帝国CMS更新是警告提示warning:imagecreatefromjpeg()的解决方法!

    如果站点使用了帝国CMS自动缩略图函数的话,而且恰巧有图片丢失或者顺坏,那么后台更新的时候就容易提示如下图的警告报告! 解决方法,肯定就是找到哪个图片(标题图片)丢了或者坏了...

  • 帝国CMS会员空间信息标签调用

    帝国CMS6.0版新增了针对会员空间信息调用的灵动标签函数,使会员空间模板增加信息调用更简单,不用写sql查询执行代码。 空间的灵动标签函数语法基本同灵动标签。 空间的灵动标签函数具体...

  • 帝国CMS多图上传插件去掉图片链接的方法!

    打开\e\admin\ecmseditor\tranmore\template\EditorMorepicTemp.txt这个文件! 改成如下代码: palign=!--pic.align--]imgsrc=!--pic.smallurl--]border=0!--pic.width--]!--pic.height--]/p OK了!重新传入图片,就可以了!...

SEO公司排名
 
QQ在线咨询
SEM竞价推广
137-1296-7640
SEO优化外包
137-1296-7640