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'];
$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);
有条件读取操作,然后将数据集返回给V层
无特别说明均为原创文章,转载请注明: 转载自isCheck's 博客_专注于PHP开发
本文链接地址: ThinkPHP-CURD增删改查操作