この記事では、thinkphp を使用してデータの削除と一括削除を実現する方法の例を示します。
予想されるレンダリング:

写真を不用意に加工したブロガーをごめんなさい。 。 。
まだ MVC モードで分割されています:
最初はビュー部分です:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | <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 が配列であるかどうかを判断するだけで済み、個別に記述する手間が省けます。
次の部分はコントローラー部分です
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | public function del(){
$adminUsersModel = D( "adminUsers" );
$id = $_GET ['id'];
if ( is_array ( $id )){
$where = 'id in('.implode(',', $id ).')';
} else {
$where = 'id='. $id ;
}
$list = $adminUsersModel ->where( $where )-> delete ();
if ( $list !==false) {
$this ->success( "成功删除{$list}条!" , U( "Admin/User/lists" ));
} else {
$this ->error('删除失败!');
}
}
|
ログイン後にコピー
以上が実装プロセス全体です。皆さんはこの比較的賢い方法を理解できたでしょうか?
削除とバッチ削除に関連するその他の thinkphp フレームワークに注目してください。記事用に!