找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 2281|回复: 0
打印 上一主题 下一主题

DedeCms批量写入数据的函数分析

[复制链接]

3444

主题

3465

帖子

1万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
11142
跳转到指定楼层
楼主
发表于 2018-2-13 20:38:28 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

本文实例分析了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"";  
                }  
            }  
            //dump($r2);  
            //dump($r3);  
            exit;  
        }else{
echo 'no article yet';
}  
    }  
}
希望本文所述对大家的dedecms建站有所帮助。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

用户反馈
客户端