PHP
·
发表于 5年以前
·
阅读量:8303
本文实例讲述了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程序设计有所帮助。