数据集:包含多条数据记录,存放在一个二维数组中
掌握器:
$class=M('class')->select();

功能:查询表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的用户数据