thinkPHP批量删除的实现方法分析
2018-09-07 22:11
本文实例讲述了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程序设计有所帮助。