thinkPHP批量删除的实现方法分析
本文实例讲述了thinkPHP批量删除的实现方法。分享给大家供大家参考,具体如下:
html:
<li>
<aclass="delete"href="__URL__/deleteSelected/navTabId/__MODULE__"target="selectedTodo"posttype="string"calback="navTabAjaxMenu"rel='ids'title="你确定要删除吗?"warn="请选择节点"><span>批量删除</span></a>
</li>
<tableclass="table"width="100%"layoutH="138">
<thead>
<tr>
<thwidth="10"><inputtype="checkbox"class="checkboxCtrl"group="ids"/></th>
<thwidth="60">编号</th>
</tr>
</thead>
<tbody>
<volistid="vo"name="list">
<tr>
<td><inputname="ids"type="checkbox"value="{$vo.id}"></td>
<td>{$vo['id']}</td>
</tr>
</volist>
</table>
php:
publicfunctiondeleteSelected(){
//删除指定记录
$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表单提交时可以传递数组,例如:
<inputtype="text"name="firstname"> <inputtype="text"name="lastname"> <inputtype="text"name="email"> <inputtype="text"name="address"> <inputtype="text"name="tree[tree1][fruit]"> <inputtype="text"name="tree[tree1][height]"> <inputtype="text"name="tree[tree2][fruit]"> <inputtype="text"name="tree[tree2][height]"> <inputtype="text"name="tree[tree3][fruit]"> <inputtype="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' ) ) )
更多关于thinkPHP相关内容感兴趣的读者可查看本站专题:《ThinkPHP入门教程》、《thinkPHP模板操作技巧总结》、《ThinkPHP常用方法总结》、《smarty模板入门基础教程》及《PHP模板技术总结》。
希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助。