本文實例講一下如何用thinkphp實現數據的刪除和批量刪除吧。
預期效果圖:
原諒博主對照片的處理是如此的草率吧。。。
仍然是 通過MVC模式進行拆分:
首先是視圖部分:
<form action="__MODULE__/Admin/User/del" method="get"> <tr> <th width="4%"><input type="checkbox" name="checkbox10" id="checkbox10"></th> <th width="13%">用戶名</th> <th width="10%">真實姓名</th> <th width="13%">手機號</th> <th width="21%">郵箱</th> <th width="11%">注冊時間</th> <th width="17%">操作</th> </tr> <volist name = 'adminUsers' id = 'vo'> <tr> <td><input type="checkbox" name="id[]" id="checkbox" value="{$vo.id}"> <td>{$vo.username}</td> <td>{$vo.realname}</td> <td>{$vo.telphone}</td> <td>{$vo.email}</td> <td>{$vo.resgistertime}</td> <td><a href="__MODULE__/Admin/User/modi/id/{$vo.id}">修改</a><a href="#"></a> <a href="__MODULE__/Admin/User/del/id/{$vo.id}">刪除</a></td> </tr> </volist> </table> </div> <div class="input-group pull-left form"> <button type="submit" class="btn btn-danger ">刪 除</button> </div> </form>
仍然是采用表單傳值的方法,不過這次不需要驗證,因為是對數據的直接處理而非讓用戶輸入數據,所以不必擔心數據的不合法性省略了model部分。這裡采用的一種比較巧妙地一種方法是將name定義為了一個數組,而在控制器中則只需要對傳入的id判斷一下是不是數組,省去了分開寫的麻煩。
接下來是控制器的部分
public function del(){ // $name = getActionName(); //作為公共的函數使用時添加 $adminUsersModel = D("adminUsers"); //獲取當期模塊的操作對象 $id = $_GET['id']; //判斷id是數組還是一個數值 if(is_array($id)){ $where = 'id in('.implode(',',$id).')'; }else{ $where = 'id='.$id; } //dump($where); $list=$adminUsersModel->where($where)->delete(); if($list!==false) { $this->success("成功刪除{$list}條!", U("Admin/User/lists")); }else{ $this->error('刪除失敗!'); } }
以上便是全部的是全部的實現過程了,不知道這種相對巧妙地方法小伙伴們GET到了嗎?
原文作者:橙色時光