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' ) ) )
更多关于thinkPHP相关内容感兴趣的读者可查看本站专题:《ThinkPHP入门教程》、《thinkPHP模板操作技巧总结》、《ThinkPHP常用方法总结》、《smarty模板入门基础教程》及《PHP模板技术总结》。
希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助。
赞 (0)