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程序设计有所帮助。