欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2024-04-02 09:38:46
本文实例讲述了thinkphp批量删除的实现方法。分享给大家供大家参考,具体如下: html:
  •   

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