这篇文章给大家介绍怎么在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项目中实现一个批量删除功能就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。