この記事では、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>
これまでと同様にフォームから値を渡す方法を使用しますが、今回はデータが直接処理されるため検証は必要ありません。ユーザーにデータを入力してもらうため、モデル部分が省略されているためデータの不正性の心配がありません。ここで採用されているより賢い方法は、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('删除失败!'); } }
以上が実装プロセス全体です。皆さんはこの比較的賢い方法を理解できたでしょうか?
削除とバッチ削除に関連するその他の thinkphp フレームワークに注目してください。記事用に!