关于thinkPHP实现批量删除的方法

不言
不言 原创
2023-03-30 18:56:02 2860浏览

这篇文章主要介绍了thinkPHP批量删除的实现方法,结合实例形式分析了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'
    )
  )
)

以上就是本文的全部内容,希望对大家的学习有所帮助,更多相关内容请关注PHP中文网!

相关推荐:

基于Thinkphp和jquery 实现ajax多选反选不选删除数据的功能

关于thinkphp框架实现删除和批量删除的分析

用ThinkPHP框架实现用户信息查询以及更新删除的功能

以上就是关于thinkPHP实现批量删除的方法的详细内容,更多请关注php中文网其它相关文章!

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。