牛骨文教育服务平台(让学习变的简单)
博文笔记

thinkphp3.2 管理员增删改查,批量删除

创建时间:2017-04-09 投稿人: 浏览次数:156
public function lst(){
      $admin=D("admin");
      $count = $admin->count();// 查询满足要求的总记录数
      $Page = new ThinkPage($count,4);// 实例化分页类 传入总记录数和每页显示的记录数(25)
      $show = $Page->show();// 分页显示输出
      $list = $admin->order("id desc")->limit($Page->firstRow.",".$Page->listRows)->select();
      $this->assign("list",$list);
      $this->assign("page",$show);
      $this->display();
    }

这个是管理员首页展示页面,代表每四个下一页

  public function add(){
        $admin=D("Admin");
        if(IS_POST){
          $data["id"]=I("id");
          $data["username"]=I("username");
          $data["password"]=md5(I("password"));
            if($admin->create($data)){
                if($admin->add()){
                    $this->success("添加管理员成功!",U("lst"));
                }else{
                    $this->error("添加管理员失败!");
                }
            }else{
                $this->error($admin->getError());
            }
            return ;
        }
        $this->display();
    }

这个是添加管理员的函数,这个有一点特殊,需要md5加密,另外数据库mysql里面密码的字段类型char,固定32位

  public function del(){
      $id=I("id");
      $admin=D("admin");
      if($admin->delete($id)){
        $this->success("删除管理员成功",U("lst"));
      }else{
        $this->error("删除管理员失败");
      }
    }

这个是删除管理员的函数
public function edit(){
          $admin=D("admin");
          if(IS_POST){
            $data["id"]=I("id");
            $data["username"]=I("username");
            $data["password"]=md5(I("password"));
              if($admin->create($data)){
                if($admin->save()){
                  $this->success("修改管理员成功",U("lst"));
                }else{
                  $this->error("修改管理员失败");
                }
              }else {
                $this->error($admin->getError());
              }

            return ;
          }

          $admins=$admin->find(I("id"));
          $this->assign("admins",$admins);
          $this->display();
      }

这个是编辑的函数,需要说明一下,前台需要放一个这样的标签

<input type="hidden" name="id" value="{$admins.id}">

隐藏类型,你在lst这个页面点击修改这个链接,连接到的地址是edit,这时你需要传递一个参数i,给edit,有这个来接收
$admins=$admin->find(I("id"));
然后赋值给$admins,赋给前台edit,

<input type="hidden" name="id" value="{$admins.id}">
然后前台有传递一个id,到后台,后台会在数据库里面寻找然后保存,(我自己都把自己说糊涂了,反正就是那个套路)

重点来了,批量删除

需要js一点知识,这个我不会,只好跟着写代码

<input class="allChoose" name="" id="check" type="checkbox">

类似于这样,点击一个最上面的小方格,下面全部选中,在本页面内放上这样的js代码

<script type="text/javascript">
    $("#check").click(function() {
        if ($(this).attr("checked")) {
            $(".check").attr("checked", "checked")
        } else {
            $(".check").removeAttr("checked")
        }
    })
</script>

具体怎么解释我给忘了,暂时也不想去想只知道当时知道函数的意思,现在不想看了

<input name="ids[]" class="check" value="{$vo.id}" type="checkbox">
与上面对应的input,里面一定要携程ids[]数组形式

通过前台input传递到控制器

<input type="submit" form="myform" formaction="__CONTROLLER__/bdel" name="" class="btn btn-primary btn2" value="批量删除">


然后后台代码这个样子就可以批量删除了

public function bdel(){
          $admin=D("admin");
          $ids=I("ids");
          $ids=implode(",",$ids);
          if($ids){
              if($admin->delete($ids)){
                  $this->success("删除管理员成功!",U("lst"));
              }else{
                  $this->error("删除管理员失败!");
              }
          }else{
              $this->error("未选中任何管理员!");
          }
      }

以上纺织我以后忘记,写入博客,以后都是素材


声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。