DedeCms批量写入数据的函数分析
发布时间:2015-01-09 12:05:11 作者:佚名 我要评论
这篇文章主要为大家介绍了DedeCms批量写入数据的函数,分析了函数的用法,对dedecms二次开发有一定参考借鉴价值,需要的朋友可以参考下
本文实例分析了DedeCms批量写入数据的函数。分享给大家供大家参考。具体分析如下:
dedecms如果是新闻与软件表我们只要操作三个表就可以了,如果我们要对批量插入的数据设置未设置状态只要在主表字段arcrank设置为-1就可以,下面看一个例子,代码如下:
复制代码
代码如下:// 本类由系统自动生成,仅供测试用途
class IndexAction extends Action {
public function index(){
$id = $this->_get('id');
$endid = $this->_get('endid');
$typeid = 9;//写入的栏目
$db = M();
if(!$id || !$endid){
$listend = $db->table('dede_archives')->limit(1)->order('id desc')->find();
exit('no id and endid id must start big from '.$listend['id']); //必须大于某id开始
}
$list = $db->table('tb1')->where('status=0')->find();//查找待发布DB未发布的
if($list){
$time=time();
$r1= $db->query("INSERT INTO `dede_arctiny` VALUES(".$id.", ".$typeid.", '0', 0, 1, ".$time.", ".$time.", 1)");//写入到织梦DB
$data2['arcrank']=-1;
$data2['title']=$list['title'];
$data2['typeid']=$typeid;
$data2['id']=$id;
$data2['pubdate']=$time;
$data2['senddate']=$time; $data2['sortrank']=$time;
$data2['mid']=1;
$data2['dutyadmin']=1;
$data2['weight']=1;
$r2=$db->table('dede_archives')->add($data2);
if($r2>0){//写入成功后写入附加表
$r3= $db->query('INSERT INTO `dede_addonarticle` VALUES('.$id.', '.$typeid.', "'.$list['content'].'", "", "", "127.0.0.1")');
$r4 = $db->table('tb1')->where("id = ".$list['id'])->setField('status',1);//写入成功后标记为已发布
if($r4){
$nextid = $id+1;
//$this->redirect("index",array('id'=>$nextid)); //if($id=99999 || $id=88888) exit;
echo 'ok '.$id;
echo 'next '.$nextid; if($endid==$id) exit('
the end id!');
echo"<script>window.location.href='/Sphp/index.php?s=/Index/index/id/".$nextid."/endid/".$endid."'</script>";
}
}
//dump($r2);
//dump($r3);
exit;
}else{
echo 'no article yet';
}
}
}
class IndexAction extends Action {
public function index(){
$id = $this->_get('id');
$endid = $this->_get('endid');
$typeid = 9;//写入的栏目
$db = M();
if(!$id || !$endid){
$listend = $db->table('dede_archives')->limit(1)->order('id desc')->find();
exit('no id and endid id must start big from '.$listend['id']); //必须大于某id开始
}
$list = $db->table('tb1')->where('status=0')->find();//查找待发布DB未发布的
if($list){
$time=time();
$r1= $db->query("INSERT INTO `dede_arctiny` VALUES(".$id.", ".$typeid.", '0', 0, 1, ".$time.", ".$time.", 1)");//写入到织梦DB
$data2['arcrank']=-1;
$data2['title']=$list['title'];
$data2['typeid']=$typeid;
$data2['id']=$id;
$data2['pubdate']=$time;
$data2['senddate']=$time; $data2['sortrank']=$time;
$data2['mid']=1;
$data2['dutyadmin']=1;
$data2['weight']=1;
$r2=$db->table('dede_archives')->add($data2);
if($r2>0){//写入成功后写入附加表
$r3= $db->query('INSERT INTO `dede_addonarticle` VALUES('.$id.', '.$typeid.', "'.$list['content'].'", "", "", "127.0.0.1")');
$r4 = $db->table('tb1')->where("id = ".$list['id'])->setField('status',1);//写入成功后标记为已发布
if($r4){
$nextid = $id+1;
//$this->redirect("index",array('id'=>$nextid)); //if($id=99999 || $id=88888) exit;
echo 'ok '.$id;
echo 'next '.$nextid; if($endid==$id) exit('
the end id!');
echo"<script>window.location.href='/Sphp/index.php?s=/Index/index/id/".$nextid."/endid/".$endid."'</script>";
}
}
//dump($r2);
//dump($r3);
exit;
}else{
echo 'no article yet';
}
}
}
希望本文所述对大家的dedecms建站有所帮助。
相关文章
- 这篇文章主要为大家介绍了dedecms使用SQL命令批量替换指定字符串的方法,可以实现针对指定字符串的精确替换功能,是非常实用的技巧,需要的朋友可以参考下2015-01-13
- 这篇文章主要为大家介绍了Dedecms图集批量上传提示报错302的解决方法,需要加上对版本的判断来解决,具有一定参考借鉴价值,需要的朋友可以参考下2015-01-09
- 这篇文章主要为大家介绍了dedecms批量替换文章中超链接的方法,涉及正则匹配与SQL调用的技巧,需要的朋友可以参考下2014-12-26
- 这篇文章主要为大家介绍了批量删除织梦dedecms文档搜索关键词的方法,主要通过dedecms后台的SQL命令界面执行SQL语句来实现,是非常实用的技巧,需要的朋友可以参考下2014-11-24
dedecms批量更新静态时提示:没有该栏目数据 可能缓存的解决方法
这篇文章主要为大家介绍了dedecms批量更新静态时提示:没有该栏目数据 可能缓存的解决方法,是针对系统搬家或还原之后出现该提示的缓冲删除与更新的解决方法,非常具有实用价2014-11-17- 这篇文章主要为大家介绍了dedeCms批量修改文章发布时间的方法,需要的朋友可以参考下2014-07-16
- 遇到更换文件目录或者更换空间域名的情况,常常导致dede图片和缩略图不能够正常显示,从而影响dede的正常使用,于是有必要批量替换图片路径2014-06-30
用数据库批量修改替换dedecms文章标题和内容的步骤分享[图文]
如果一个dedecms系统的门户网站,里面的信息内容,已经成千上万,当有一天想要修改大部分文章中的信息时,单篇文章修改的方法不是太现在,那么现在给大家介绍一下用数据库2019-02-26DeDecms 最新漏洞plus/search.php漏洞批量利用工具
DeDecms最新plussearch.php漏洞批量利用工具2013-02-20- 有时候我们想对已经发表文章的来源和作者进行批量替换,可以通过下面这个方式进行修改,或者也可以直接写在模板里面,不通过调用的形式2011-11-15
最新评论