CURD操作
上一篇中,我们了解了TCCMS的基础部分,以及如何创建一个控制器和模板本篇将会讲解下数据的CURD操作,探索下的数据操作。
CURD
CURD是一个数据库技术中的缩写词,一般的项目开发的各种参数的基本功能都是CURD。它代表创建
(Create)、更新(Update)、读取(get,find,getLiet)和删除(Delete)操作。CURD 定义了用于处理数据的基本原子操作。之所以将CURD
提升到一个技术难题的高度是因为完成一个涉及在多个数据库系统中进行CURD操作的汇总相关的活动,其性能可能会随数据关系的变化而有非常大的差异。
如下面案例:
1: 通过主键取一条数据
$userObj = get('user', 1); //取user表的主键为1的数据
或者
$userObj = M('user'); //实例化对象
$userObj = $userObj->load(1);//取主键为1的user对象
取得上面$userObj后,可以直接通过对象->字段,访问字段的值,比如
$userObj->username;//得到用户名
$userObj->age;//得到年龄
$userObj->grade;//得到级别
又如:
$_Obj = get('news', 1);
$_Obj->title;//得到标题
$_Obj->content;//得到内容
2更新对象
$userObj = get('user', 1);
$userObj->username = 'New Name';//赋值/覆盖成员属性
$userObj->age= 19;
$userObj->update();//更新对象
这个时候,主键为1的记录的username被更新为 New Name,年龄为19
3删除对象
get或post方式删除一条或多条记录
$userObj->detele();//删除对象
主键为2的记录被删除了
4新增对象
$userObj = M('user');
$userObj->username = 'milkcy';
$userObj->password = 123456;
$userObj->save();//保存对象
新增了一条新记录
5含有分页的获取多条数据,getList方法(可用连贯操作进行过滤);
$_Obj = M('user');
$_Obj->pageSize = 20;//没页20条记录
$_objAry = $_Obj->getList();
$this->setValue("Obj", $_Obj);
$this->setValue("objAry", $_objAry);
页面中包含page.css,插入:
<div class="pager">{:$Obj->pagenav:}</div>
即可。$objAry直接循环输出。
6没有分页的获取多条数据,find方法
$_Obj = M('user');
$_objAry = $_Obj->fint();//默认一条
$this->setValue("objAry", $_objAry);
5和6可以结合where,orderby,limit,field方法和table属性进行过滤或查询。
举例:
1建立表单gbook.html
<FORM method="post" action="index.php?ac=gbook_save">
标题:<INPUT type="text" name="title"><br/>
内容:<TEXTAREA name="content" rows="5" cols="45"></TEXTAREA><br/>
<INPUT type="submit" value="提交">
</FORM>
2建立数据库
CREATE TABLE IF NOT EXISTS `tc_gbook` (
`id` smallint(4) unsigned NOT NULL AUTO_INCREMENT,
`title` varchar(255) NOT NULL,
`content` varchar(255) NOT NULL,
`create_time` int(11) unsigned NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 ;
3controller下面建立gbook.class.php
class gbook extends controller{
public function add{
$_Obj = M('gbook');
$this->forward("gbook".html");
}
public function save{
$_Obj = M('gbook');
$_Obj->create();
$_Obj->saveOrUpdate();//自动识别是insert还是update
}
}
4后台建立对应的权限,见上一个章节。
访问http://domain//index.php?ac=gbook_add 即可