找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 733|回复: 0
打印 上一主题 下一主题

ThinkPHP实现更新数据实例详解(demo)

[复制链接]

2500

主题

2513

帖子

7520

积分

论坛元老

Rank: 8Rank: 8

积分
7520
跳转到指定楼层
楼主
发表于 2018-2-14 05:34:54 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

            在没介绍正文之前先给大家介绍下数据更新方法支持的连贯操作方法有:

在上一篇文章中我们实现了数据的删除和批量删除,这一篇文章我们将实现数据的更新。
  首先依然是预期效果图:
  

点击修改后进入modi.html页面,然后进行修改,如此处修改了真实姓名这一属性:

点击保存:

  以上是要实现的效果,下面是实现的具体代码了:
  首先依然是视图内的代码:




名:

真实姓名:

手机号码:

电子邮箱:

添加时间:

设置密码:

确认密码:

   保

存  

  接下来是控制器:需要说明的是这里需要对未修改前的值进行一下写入,主要是为了方便用户备忘,因此需要进行一个if分支的判断:
public function modi(){
if (IS_POST) {
$adminUsersModel = D("adminUsers");
$adminUsersModel->create();
// var_dump($adminUsersModel);
// exit("创建成功!");
if($adminUsersModel->save()){
$this->success("修改成功", U("Admin/User/lists"));
}
else {
$this->error($adminUsersModel->getError());
}
}
else {
$id = isset($_GET['id']) ? intval($_GET['id']) : '';
if ($id == '') {
exit("bad param! 请输入id");
}
$adminUsersModel=D("adminUsers");
$adminUsers=$adminUsersModel->find($id);
//var_dump($adminUsers);
$this->assign("adminUsers", $adminUsers);
$this->display();
}
}
下面给大家介绍下thinkphp更新数据库的五种方法
第一种方法:
$模型->where(‘id=1')->save($data);
第二种方法:
$模型->where(‘id=1')->data($data)->save();
第三种方法:
$模型->create();
$模型->save();
表单中必须包含一个以主键为名称的隐藏域
第四种方法:
$模型->where('id=5')->setField('name','ThinkPHP');
$模型->where('id=5')->setField(array('name','email'),array('TP','TP@163.com'));
//第四种方法,传数组时候,我实现不了。。。
第五种方法:
$模型->setInc('score','id=5',3); // 积分加3
$模型->setInc('score','id=5'); // 积分加1
$模型->setDec('score','id=5',5); // 积分减5
$模型->setDec('score','id=5'); // 积分减1
            
            
您可能感兴趣的文章:
  • ThinkPHP实现批量删除数据的代码实例
  • ThinkPHP添加更新标签的方法
  • 基于ThinkPHP实现批量删除
  • thinkphp框架实现删除和批量删除
  • Thinkphp批量更新数据的方法汇总
            
  • 分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    用户反馈
    客户端