thinkPHP如何实现批量删除的效果
程序员文章站
2022-05-29 16:58:48
...
这篇文章主要介绍了thinkPHP批量删除的实现方法,结合实例形式分析了thinkPHP实现批量删除数据的数据库及模板操作相关技巧,需要的朋友可以参考下
html部分:
<li> <a class="delete" href="__URL__/deleteSelected/navTabId/__MODULE__" target="selectedTodo" posttype="string" calback="navTabAjaxMenu" rel='ids' title="你确定要删除吗?" warn="请选择节点"><span>批量删除</span></a> </li> <table class="table" width="100%" layoutH="138"> <thead> <tr> <th width="10"><input type="checkbox" class="checkboxCtrl" group="ids" /></th> <th width="60">编号</th> </tr> </thead> <tbody> <volist id="vo" name="list"> <tr> <td><input name="ids" type="checkbox" value="{$vo.id}"> </td> <td>{$vo['id']}</td> </tr> </volist> </table>
php部分:
public function deleteSelected() { //删除指定记录 $name = $this->getActionName(); $model = D($name); if (!empty($model)) { $pk = $model->getPk(); $ids = $_REQUEST['ids']; if (!empty($ids)) { $condition = array($pk => array('in', explode(',', $ids))); if (false !== $model->where($condition)->delete()) { $sql = $model->_sql(); $this->success("删除成功!"); } else { $this->error('删除失败!'); } } else { $this->error('非法操作'); } } }
原理是根据Web表单提交时可以传递数组,例如:
<input type="text" name="firstname"> <input type="text" name="lastname"> <input type="text" name="email"> <input type="text" name="address"> <input type="text" name="tree[tree1][fruit]"> <input type="text" name="tree[tree1][height]"> <input type="text" name="tree[tree2][fruit]"> <input type="text" name="tree[tree2][height]"> <input type="text" name="tree[tree3][fruit]"> <input type="text" name="tree[tree3][height]">
则传递过来的是:
$_POST[] = array( 'firstname'=>'value', 'lastname'=>'value', 'email'=>'value', 'address'=>'value', 'tree' => array( 'tree1'=>array( 'fruit'=>'value', 'height'=>'value' ), 'tree2'=>array( 'fruit'=>'value', 'height'=>'value' ), 'tree3'=>array( 'fruit'=>'value', 'height'=>'value' ) ) )
【相关教程推荐】
2. php从入门到精通
3. bootstrap教程