CURD增刪改查操作,先給出一套代碼CURDAction.class.php
- <?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();
新聞熱點
疑難解答
圖片精選