大发彩票首页
        大发彩票>建站知识>开发小记>

        开发小记

        技术贴:dede批量修改发布时间,并一键更新

        来源:未知 作者:admin 时间:2016-05-14 09:48 点击:次

        网上找了怎么批量修改dedecms时间的方法,也就是这个语句

        “update dede_archives set senddate= 1335542400 where id>=1 and id<=10;”

        执行了这个语句后文章的发布时间都更新了。正当我高兴的时候,发现新的问题来了:在用“一键更新网站”设定“指定时间的所有更新”,批量修改时间后的文章却不能正常生成。

        开始以为是时间没有修改正确,但是试了好几次都没成功。后来发现了问题的所在,也就是我把指定生成的时间改到文章之前的发布时间,就可以生成了。根据这个问题我判断是“指定时间的所有更新”调用的不是dede_archives这个表。最后查看代码发现调用的是dede_arctiny这个表。那我就相应的做出了调整,执行以下的语句就发现可以正常的更新了。

        update dede_archives set pubdate=FLOOR(UNIX_TIMESTAMP('2016-04-19 00:00:00')-46800 + RAND() * (86400)) where id>=8300 ;

        这条语句的意思指定时间段随机生成更新时间,里面有三个标红的位置,一个是“-46800”因为我的网站“经验分享网”用的是美国的主机,有13个小时的时差,所以-46800秒。如果你用的主机是中国的话,就可以把这个时间差的值给去掉。“86400”折算出来就是24个小时。这样就可以理解随机的时间是“2016-04-19 00:00:00”至“2016-04-19 23:59:59”。“8300”就是你的文章ID 。黑色显示的时间与这三个红色标红都可以根据自己的需要进行修改。

        update dede_arctiny t set senddate=(select senddate from dede_archives where t.id=id) where id>=8300 ;

        这条语句是更新了“一键生成”功能用到的更新时间,这个语句是把dede_arctiny表与dede_archives表时间设置为一致 。

        另外需要说明的是dede_archives这个表里有两个个时间 ,pubdate文章更新时间,senddate数据产生的时间。只要修改pubdate的时间就可以让文章前台显示更新时间为这个时间,如果你想把senddate的时间也要与文字时间一致那你就再执行下面的语句就可以了 。

        update dede_archives set senddate=pubdate where id>=8300 and arcrank=-1;

        公司业务:大发彩票,刷百度下拉,刷百度指数,虚拟主机租用

        如转载,请保留本文链接地址:http://www.518it.com.cn/Web/Diary/1883/

        Loading......
        工作时间:

        AM 09:00 ~ 12:00

        PM 14:00 ~ 18:00

        联系方式:

        Tel 010-50933590

        Hp 18701620736

        设计优势

        独立的设计团队 带给您全新的视觉体验

        功能开发

        强大的技术实力,完成您想要的任何功能

        售后服务

        完善的售后服务,解决您在使用过程中遇到的问题

        Copyright © 2010 - 2018 北京顺晟科技发展有限公司 All Rights Reserved

        地址:北京市顺义区南法信政府府前街16号 炫立方 | TEL:010-50933590

        北京网站建设 | 北京网站设计 | 北京SEO公司

        大发彩票官网 | 大发彩票平台 |