如何在ThinkPHP項目中更新數據?相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。
在沒介紹正文之前先給大家介紹下數據更新方法支持的連貫操作方法有:

在上一篇文章中我們實現了數據的刪除和批量刪除,這一篇文章我們將實現數據的更新。
首先依然是預期效果圖:

點擊修改后進入modi.html頁面,然后進行修改,如此處修改了真實姓名這一屬性:

點擊保存:

以上是要實現的效果,下面是實現的具體代碼了:
首先依然是視圖內的代碼:
<form role="form" method="post" action="__MODULE__/Admin/User/doAdd"> <div 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"> </div> <div class="input-group "> <span class="input-group-addon" for="inputWarning1">真實姓名:</span> <input type="text" class="form-control" placeholder="" id="input" name="realname"> </div> <div class="input-group"> <span class="input-group-addon">手機號碼:</span> <input type="text" class="form-control" placeholder="" name="telphone"> </div> <div class="input-group"> <span class="input-group-addon">電子郵箱:</span> <input type="text" class="form-control" placeholder="" name="email"> </div> <div class="input-group"> <span class="input-group-addon">添加時間:</span> <input type="text" class="form-control" placeholder="2014-05-22" name="resgistertime"> </div> <div class="input-group"> <span class="input-group-addon">設置密碼:</span> <input type="text" class="form-control" placeholder="123456" name="password"> </div> <div class="input-group"> <span class="input-group-addon">確認密碼:</span> <input type="text" class="form-control" placeholder="123456" name="repassword"> </div> <div class="input-group"> <button type="submit" class="btn btn-primary "> 保<img src="__PUBLIC__/end/images/em.png" alt="" width="20" height="20">存 </button> </div> </form>
接下來是控制器:需要說明的是這里需要對未修改前的值進行一下寫入,主要是為了方便用戶備忘,因此需要進行一個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項目中更新數據的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。