阅读模式:

Thinkphp 3.2.3 CURD

查看:5917  :0  类型:  来源:ThinkPHP  标签 thinkphp

        Thinkphp 3.2.3 CURD(增删改查)

会用到的方法:

     M()方法:实例化模型

                    M('数据表名')

     D()方法:实例化模型,并对数据格式进行验证

     I()方法:用于接收form表单请求过来get或post的数据,并对数据进行过滤操作

                   I('get.表单中name参数名','不存在的时候返回的值,可设置0或''[可不填]','过滤方式htmlspecialchars、intval、strip_tags[可不填]')

     add()方法:插入数据

     select()方法:查找所有数据、find()方法:查找一条数据

     delete()方法:删除数据

     save()方法:更新数据

代码实例:

<?php
namespace Admin\Controller;
use Think\Controller;
class PoController extends CommonController{
    public function index(){
        $post = M('po');
        $cate = M('cate')->select();
        $count      = $post->count();// 查询满足要求的总记录数
        $Page       = new ThinkPage($count,30);// 实例化分页类 传入总记录数和每页显示的记录数(25)
        $show       = $Page->show();// 分页显示输出
        // 进行分页数据查询 注意limit方法的参数要使用Page类的属性
        $list = $post->order('id desc')->limit($Page->firstRow.','.$Page->listRows)->select();
        $this->assign('list',$list);// 赋值数据集
        $this->assign('page',$show);// 赋值分页输出
        $this->assign('cate',$cate);
        $this->display(); // 输出模板
    }
    public function add(){
        $post = D('po');
        $cate = M('category')->select();
        if(IS_POST){

            $data['title'] = I('post.title');
            $data['cate_id'] = I('post.cid');
            $data['contents'] = I('post.content',false);
            $data['ip'] = get_client_ip();
            $Ip = new OrgNetIpLocation('UTFWry.dat'); // 实例化类 参数表示IP地址库文件
            $area = $Ip->getlocation(); // 获取某个IP地址所在的位置
            $data['ipfrom'] = $area;
            $data['click'] = 1;
            $data['from'] = I('post.froms');
            $data['publish'] = session('account');
            $data['uid'] = session('account_id');
            $data['addtime'] = date('Y-m-d H:i:s');
            $data['updatetime'] = date('Y-m-d H:i:s');

            if($post->create($data)){
                if($post->add()){
                    $this->success('话题发布成功!',U('index'));
                }else{
                    $this->error('话题发布失败!');
                }
            }else{
                $this->error($post->getError());
            }
            
            return false;
        }
        $this->assign('cate',$cate);
        $this->display();
    }
    public function edit(){
        $post = D('po');
        $cate = M('cate')->select();
        $res = $post->where(array('id'=>I('id')))->find();
        if(IS_POST){
            $data['id'] = I('post.id');
            $data['title'] = I('post.title');
            $data['cate_id'] = I('post.cid');
            $data['keyword'] = I('post.keywords');
            $data['contents'] = I('post.content',false);
            $data['ip'] = get_client_ip();
            $Ip = new OrgNetIpLocation('UTFWry.dat'); // 实例化类 参数表示IP地址库文件
            $area = $Ip->getlocation(); // 获取某个IP地址所在的位置
            $data['ipfrom'] = $area;
            $data['from'] = I('post.froms');
            $data['publish'] = session('account');
            $data['uid'] = session('account_id'); 
            $data['updatetime'] = date('Y-m-d H:i:s');

            if($post->create($data)){
                if($post->save()){
                    $this->success('话题更新成功!',U('index'));
                }else{
                    $this->error('话题更新失败');
                }
            }
            return false;
        }
        $this->assign('cate',$cate);
        $this->assign('post',$res);
        $this->display();
    }

    public function delete(){
        $post = M('po');
        if($post ->delete(I('get.id'))){
            $this->success('话题删除成功!',U('index'));
        }else{
            $this->error('话题删除失败!');
        }
    }

}

来源:http://www.kancloud.cn/thinkphp/thinkphp_quickstart/2140

http://document.thinkphp.cn/manual_3_2.html#create_data


分享到:
0 0

我的看法:

IN: