Home  >  Article  >  Backend Development  >  How to update data in ThinkPHP? (detailed examples)

How to update data in ThinkPHP? (detailed examples)

不言
不言Original
2018-06-06 14:54:294119browse

This article introduces you to a detailed example of how thinkphp implements updated data and five methods for thinkphp to update the database. This article introduces very well and has reference value. Interested friends can refer to it

How to update data in ThinkPHP? (detailed examples)

Before introducing the main text, let me introduce to you the coherent operation methods supported by the data update method:

In the previous article In this article, we implemented data deletion and batch deletion. In this article, we will implement data update.

 The first is still the expected rendering: 

Click to modify and enter the modi.html page, and then Make modifications, such as modifying the real name attribute here:

Click to save:

The above is the effect to be achieved. The following is the specific code to achieve:

The first is still the code in the view:

<form role="form" method="post" action="__MODULE__/Admin/User/doAdd">
<p class="input-group"> <span class="input-group-addon">用<img src="__PUBLIC__/end/images/em.png" alt="" width="6" height="20">户<img src="__PUBLIC__/end/images/em.png" alt="" width="6" height="20">名:</span>
<input type="text" class="form-control" placeholder="" name="username">
</p>
<p class="input-group "> <span class="input-group-addon" for="inputWarning1">真实姓名:</span>
<input type="text" class="form-control" placeholder="" id="input" name="realname">
</p>
<p class="input-group"> <span class="input-group-addon">手机号码:</span>
<input type="text" class="form-control" placeholder="" name="telphone">
</p>
<p class="input-group"> <span class="input-group-addon">电子邮箱:</span>
<input type="text" class="form-control" placeholder="" name="email">
</p>
<p class="input-group"> <span class="input-group-addon">添加时间:</span>
<input type="text" class="form-control" placeholder="2014-05-22" name="resgistertime">
</p>
<p class="input-group"> <span class="input-group-addon">设置密码:</span>
<input type="text" class="form-control" placeholder="123456" name="password">
</p>
<p class="input-group"> <span class="input-group-addon">确认密码:</span>
<input type="text" class="form-control" placeholder="123456" name="repassword">
</p>
<p class="input-group">
<button type="submit" class="btn btn-primary ">   保<img src="__PUBLIC__/end/images/em.png" alt="" width="20" height="20">存  </button>
</p>
</form>

The next is the controller: What needs to be explained is that what is needed here The purpose of writing the unmodified value is mainly to facilitate the user's memo, so it is necessary to make an if branch judgment:

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[&#39;id&#39;]) ? intval($_GET[&#39;id&#39;]) : &#39;&#39;;
if ($id == &#39;&#39;) {
exit("bad param! 请输入id");
}
$adminUsersModel=D("adminUsers");
$adminUsers=$adminUsersModel->find($id);
//var_dump($adminUsers);
$this->assign("adminUsers", $adminUsers);
$this->display();
}
}

The following will introduce how thinkphp updates the database. Five methods

The first method:

$Model->where('id=1')->save( $data);

Second method:

$model->where('id=1')->data($data)-> ;save();

The third method:

$Model->create();

$Model-> ;save();

The form must contain a hidden field named with the primary key

Fourth method:

$ Model->where('id=5')->setField('name','ThinkPHP');

$Model->where('id=5')-> ;setField(array('name','email'),array('TP','TP@163.com'));

//The fourth method, when passing an array, I can't implement it . . .

Fifth method:

$Model->setInc('score','id=5',3); // Point addition 3

$Model->setInc('score','id=5'); // Points plus 1

$Model->setDec(' score','id=5',5); //Score minus 5

$model->setDec('score','id=5'); //Score minus 1

Related recommendations:

thinkphp implements 163, QQ mailbox method of sending and receiving emails_php skills

##ThinkPHP implements simple login function

The above is the detailed content of How to update data in ThinkPHP? (detailed examples). For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn