thinkPHP批量删除的实现方法分析

5年以前  |  阅读数:859 次  |  编程语言:PHP 

本文实例讲述了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程序设计有所帮助。

 相关文章:
PHP分页显示制作详细讲解
SSH 登录失败:Host key verification failed
获取IMSI
将二进制数据转为16进制以便显示
获取IMEI
文件下载
贪吃蛇
双位运算符
PHP自定义函数获取搜索引擎来源关键字的方法
Java生成UUID
发送邮件
年的日历图
提取后缀名
在Zeus Web Server中安装PHP语言支持
让你成为最历害的git提交人
Yii2汉字转拼音类的实例代码
再谈PHP中单双引号的区别详解
指定应用ID以获取对应的应用名称
Python 2与Python 3版本和编码的对比
php封装的page分页类完整实例