本文實例講一下如何用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到了嗎?
原文作者:橙色時光