ホームページ >バックエンド開発 >PHPチュートリアル >ThinkPHP でデータを更新するにはどうすればよいですか? (詳細な例)

ThinkPHP でデータを更新するにはどうすればよいですか? (詳細な例)

不言
不言オリジナル
2018-06-06 14:54:294245ブラウズ

この記事では、thinkphp が更新されたデータを実装する方法の詳細な例と、thinkphp がデータベースを更新するための 5 つの方法を紹介します。興味のある方は参考にしてください

ThinkPHP でデータを更新するにはどうすればよいですか? (詳細な例)

本文 まず、データ更新メソッドがサポートする一貫した操作メソッドを紹介します:

前回の記事では、データの削除と一括削除を実装しました。 今回の記事では、データの更新を実装します。

最初のレンダリングはまだ期待どおりです:

クリックして変更してmodi.htmlページに入り、次にここで実名属性を変更するなどの変更を加えます:

クリックして保存します:

上記は達成される効果です。 以下は達成する特定のコードです:

最初はまだビュー内のコードです:

<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>

次はコントローラーです: Itここでは変更されていないものと比較する必要があることに注意してください。 値は主にユーザーのメモを容易にするために書かれているため、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[&#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();
}
}

以下は、thinkphp で更新する 5 つの方法の紹介です。データベース

最初のメソッド:

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

2番目のメソッド:

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

3 番目のメソッド:

$model->create();

$model->save ();

フォームには主キーで名前が付けられた隠しフィールドが含まれている必要があります

4 番目のメソッド:

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

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

//4 番目のメソッド、配列を渡す場合、実装できません。 。 。

5番目のメソッド:

$model->setInc('score','id=5',3) // スコアに3点を追加します

$model->setInc('スコア' ,'id=5'); // スコアに 1 を加算します

$model->setDec('score','id=5',5) // スコアから 5 を減算します

$model->setDec ('score','id=5'); // ポイントが 1 減ります

関連する推奨事項:

ThinkPHP は 163、QQ メールボックスのメール送受信メソッドを実装します_php スキル

ThinkPHP に簡易ログイン機能が実装されました

以上がThinkPHP でデータを更新するにはどうすればよいですか? (詳細な例)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。