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 ( '<br>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的详细内容...
声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://www.haodehen.cn/did5716