A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

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'];
$date['content']=$_POST['content'];

$date['id']=$_POST['id'];

$demo->save($date);

更新操作,这里做的是无条件更新,系统会自动通过主键更新

5。$demo->where('id=5')->delete();

通过设置条件,删除操作。
6。$data=$demo->order('iddesc')->limit(10)->select();
$this->assign('data',$data);

1 个回复

倒序浏览
奈斯,感谢分享
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马