ThinkPHP CRUD

CRD:Create Update Read Delete
新增模板add.html,控制类

<?php
namespace Home\Controller;
use Think\Controller;
class FormController extends Controller{
}

不写任何操作,直接访问依然访问成功。因为ThinkPHP在没有找到对应的操作方法,会检查是否存在模板文件,如果有就直接渲染该模板文件输出。

namespace Home\Controller;
use Think\Controller;
class FormController extends Controller {

    public function insert(){
        $Form=D('Form');
        if($Form->create()){
            $result=$Form->add();
            if($result){
                $this->success('数据添加成功');
            }else{
                $this->error('数据添加失败');
            }   
        }else{
            $this->error($Form->getError());
        }
    }
}

如果主键是自增类型 插入成功后返回该主键的值。非自增主键的话,返回插入数据的个数。返回false 插入数据出错。

模型
D函数 M函数 区别:D函数需要有对应的模型类,而且create方法会自动把表单提交的数据进行自动验证和自动完成。验证失败,可以通过模型的getError方法获取验证提示信息。验证通过,则表示数据对象成功创建,但只是保存在内存中,调用add方法写入数据库。
PS:创建数据过程create方法创建数据对象->调用add方法输入数据库。 create中验证数据 add添加数据

//add模板

<body>
<FORM method="post" action="__URL__/insert">
标题:<INPUT type="text" name="title"><br/>
内容:<TEXTAREA name="content" rows="5" cols="45"></TEXTAREA><br/>
<INPUT type="submit" value="提交">
</FORM>
</body>

//模型 这里加入验证方法可以 对其验证

<?php
namespace Home\Model;
use Think\Model;
class FormModel extends Model {
    //定义验证方法
    protected $_validate=array(
        array('title','require','标题必填'),
    );
    //自动完成
    protected $_auto=array(
        array('create_time','time',1,'function')
    );
}

数据内部完成 非页面填写

    <?php
namespace Home\Controller;
use Think\Controller;
class FormController extends Controller {

    public function insert(){
        $Form=D('Form');
        if($Form->create()){
            $result=$Form->add();
            if($result){
                $this->success('数据添加成功');
            }else{
                $this->error('数据添加失败');
            }   
        }else{
            $this->error($Form->getError());
        }
    }

    public function add(){
        $Form=D('Form');
        $Form->title='insert';//$Form['title']
        $Form->content='insert content';//$Form['content']
        $Form->create_time=time();//$Form['create_time']

        echo $Form->add();
    }
    //post 请求 验证
    public function getInfoByID($id){
        $ID=D('Form');
        if($ID->create()){
            $data=$ID->find($id);
            $this->assign('data',$data);
            $this->display('show');
        }else{
            $this->error($ID->getError());
        }
    }
    //get url传参
    public function getID($id){
        $get=D('Form');
        $data=$get->find($id);
        $this->assign('data',$data);
        $this->display('show');
    }

    public function selTitleByID($id){
        $get=D('form');
        $title=$get->where('id='.$id)->getField('title');
        echo $title;
    }

    public function edit($id=1){
        $Form=D('form');
        $data=$Form->find($id);
        $this->assign('data',$data);
        $this->display('edit');
    }

    public function update(){
        $Form=D('form');
        if($Form->create()){
            if($Form->save()){
                $this->success('数据修改成功');
            }else{
                $this->error('数据错误');
            }
        }else{
            $this->error($Form->getError());
        }
    }

    public function index(){
        $this->assign('name','hhhhhhhhhhhhhhhhh');
        $this->display();
    }

    public function getUpdate($id=1){
        $Form=M('form');
        $Form->id=$id;
        $Form->title='11';
        $Form->content='111';
        $Form->create_time=time();
        if($Form->save()){
            $this->success('更新成功');
        }else{
            $this->error('更新失败');
        }
    }

    public function getUpdate_Field($id){
        $Form=M('form');
        $msg=$Form->where('id='.$id)->setField('title','url update');
        if($msg){
            echo '成功';
        }else{
            echo '失败';
        }
    }

    public function delete($id){
        $Form=M('form');
        //$Form->delete(2,3) 删除多条
        if($Form->delete($id)){
            $this->success($id.' 删除成功');
        }else{
            $this->error($id.' 删除失败');  
        }
        /*
        根据ID删除数据
        $Form->where('id='.$id)->delete();
        删除所有状态为0的记录
        $Form->where('state=0')->delete();*/
    }

    public function jiafen(){
        $User = M("User"); // 实例化User对象
        $User->where('id=5')->setInc('score',3); // 用户的积分加3
        $User->where('id=5')->setInc('score'); // 用户的积分加1
        $User->where('id=5')->setDec('score',5); // 用户的积分减5
        $User->where('id=5')->setDec('score'); // 用户的积分减1
    }
}

url请求–>控制器—>操作方法—->对应的模板。如果没有控制器操作方法 直接跳转到模板文件

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值