CURD增删改查操作,先给出一套代码CURDAction.class.php
- //测试对于数据库的增删改查操作
- classCURDActionextendsAction
- {
- //index页面
- publicfunctionindex()
- {
- $this->assign('title','添加数据');//这里设置了模板变量{$title}
- $this->assign('datetime',date("Y-m-dH:i:s"));
- $this->display();
- }
- //INSERT操作
- publicfunctioncreate()
- {
- //初始化操作,建立表think_demo所对应的映射对象(O/RMapping)
- $demo=D("Demo");
- if($demo->create()){
- //对字段autotime的赋值操作:以date("Y-m-dH:i:s")的方式获取mysql数据库datetime字段类型所接受的日期格式。
- $demo->autotime=date("Y-m-dH:i:s");
- //insert操作
- $demo->add();
- //跳转到显示页面
- //$this->display("read");
- $this->redirect("read");
- }else{
- header("Content-Type:text/html;charset=utf-8");
- exit($demo->getError().'[返回aaaaaa]');
- }
- }
- //SELECT操作
- publicfunctionread()
- {
- $demo=D("Demo");
- $data=$demo->order('iddesc')->limit(10)->select();
- $this->assign('data',$data);
- $this->assign('title','添加数据2');
- $this->display();
- }
- //UPDATE操作
- publicfunctionupdate()
- {
- $demo=D("Demo");
- //实践时发现,当用户不出发onClick事件的话,create()方法可能不被执行,因为单刷页面的话,数据库没有被更新
- //create()方法:从html表单中自动提取数据,注入到Model对象中。
- //$demo->create();
- //$demo->save();
- //和上面的代码一样
- $date['title']=$_POST['title'];
- $date['content']=$_POST['content'];
- $date['id']=$_POST['id'];
- $demo->save($date);
- $this->assign('title','更新数据2');
- $this->display();
- }
- //DELECT操作
- publicfunctiondelect()
- {
- $demo=D("Demo");
- $demo->where('id=5')->delete();
- $this->redirect("read");
- }
- }
- ?>
理解一下操作,就能理解上面的代码了,因为要下班了,回家后再作详解.
1。$demo=D("Demo");
通过数据库建立一个指定表的映射对象。
2。$demo->create()
通过相同的表单name属性名,自动的把表单里的值加载到映射对象中
3。$demo->add();
插入操作,将不为空的映射对象里的数据插入到数据库内
4。$date['title']=$_POST['title'];
通过设置条件,删除操作。
6。$data=$demo->order('iddesc')->limit(10)->select();