首页 » 网站推广 » thinkphpcurd技巧_ThinkPHP之CURD操作

thinkphpcurd技巧_ThinkPHP之CURD操作

访客 2024-12-10 0

扫一扫用手机浏览

文章目录 [+]

数据集:包含多条数据记录,存放在一个二维数组中

掌握器:

thinkphpcurd技巧_ThinkPHP之CURD操作

$class=M('class')->select();

thinkphpcurd技巧_ThinkPHP之CURD操作
(图片来自网络侵删)

功能:查询表class的所有数据记录,存放于二维数组$class中;

前台如何利用数据集呢?两种变量解析办法:

$this->class=$class;

$this->assign('class',$class);

模板:

<foreach name='class' item='v'>

{$v.id}--{$v.name}

</foreach>

第二种查询数据的办法:读取数据——find的利用

数据:仅包含一条数据记录,存放在一个一维数组中

注:纵然知足条件的数据不止一条,find方法也只会返回第一条记录。

掌握器:

$class=M('class')->find();

功能:查询表class的一条数据记录,存放于一维数组$class中;

前台如何利用数据呢?两种变量解析办法:

$this->class=$class;

$this->assign('class',$class);

模板:

第一种:{$class.id}--{$class.name}

第二种:<foreach name=\公众class\公众 item=\"大众v\公众>

{$v}

</foreach>

第三种查询数据的办法:读取数据——getField的利用

掌握器:

第一种:$name=M('class')->getField('name');//当只有一个字段的时候,默认返回一个值;

第二种:$class=M('class')->getField('name',true);//获取name一维数组

功能:读取某个字段的值或数组;

前台如何利用数据呢?两种变量解析办法:

第一种:

$this->class=$class;

$this->assign('class',$class);

第二种:

$this->name=$name;

$this->assign('name',$name);

模板:

第一种:{$name}

第二种:{$class.name}

二、创建(Create)第一种办法:

M('article')->add($_POST);

注:$_POST是一维数组索引

第二种办法:

$data=array(

'title'=>I('title'),

'summary'=>I('summary'),

'content'=>$_POST['content'],

'create_time'=>time(),

'hits'=>I('hits',100,'intval'),

'cid'=>I('cid',0,'intval'),

);

M('article')->add($data);

第三种办法:多对多的关系表

注:$_POST['role_id']为一维数组索引

(1)第一种方法

foreach($_POST['role_id'] as $v){

$arr=array(

'user_id'=>$uid,

'role_id'=>$v

);

M('role_user')->add($arr);

}

(2)第二种方法

$role=array();

foreach($_POST['role_id'] as $v){

$role[]=array(

'user_id'=>$uid,

'role_id'=>$v

);

}

M('role_user')->addAll($role);

第四种办法:自动验证后的新增数据三、更新(Update)

序言:

为了担保数据库的安全,避免出错更新全体数据表,如果没有任何更新条件,数据工具本身也不包含主键字段的话,save方法不会更新任何数据库的记录。

第一种情形:save()——更新多个字段

(1)第一种形式:数据工具本身不包含主键

$data['name'] = 'ThinkPHP';// 要修正的数据工具属性赋值

$data['email'] = 'ThinkPHP@gmail.com';

M(\"大众User\公众)->where('id=5')->save($data); // 根据条件保存修正的数据

(2)第二种形式:数据工具本身包含主键

$data['id'] = 5;//数据工具本身包含的主键

$data['name'] = 'ThinkPHP';// 要修正的数据工具属性赋值

$data['email'] = 'ThinkPHP@gmail.com';

M(\公众User\"大众)->save($data); // 根据条件保存修正的数据

第二种情形:setField()——更新个别字段

M(\"大众User\"大众)->where('id=5')->setField('name','ThinkPHP');//必须合营连贯操作where一起利用

第三种情形:setInc()和setDec()——统计字段(常日指的是数字类型)的更新

setInc($field,$step=1)字段值增长;

setDec($field,$step=1)字段值减少;

field:要更新的字段名;

step:增长或者减少的数值,默认为1;

M(\公众User\"大众)->where('id=5')->setInc('score',3); // 用户的积分加3

M(\公众User\公众)->where('id=5')->setDec('score',5); // 用户的积分减5

三、删除(Delete)

M('blog')->delete($id);

$User = M(\"大众User\"大众); // 实例化User工具

$User->where('id=5')->delete(); // 删除id为5的用户数据

$User->where('status=0')->delete(); // 删除所有状态为0的用户数据

标签:

相关文章