10分类删除功能的实现

10分类删除功能的实现

塘屉保骇警侵晦笑滴技假摆诬


删除功能实现,修改index.html

10分类删除功能的实现第1张

{include file="common@header"}
    <div class="x-nav">
      <span class="layui-breadcrumb">
        <a href="">首页</a>
        <a href="">分类</a>
        <a>
          <cite>分类管理</cite></a>
      </span>
      <a class="layui-btn layui-btn-small" style="line-height:1.6em;margin-top:3px;float:right" href="javascript:location.replace(location.href);" title="刷新">
        <i class="layui-icon" style="line-height:30px">ဂ</i></a>
    </div>
    <div class="x-body">
      <xblock>
        <button class="layui-btn" onclick="x_admin_show('添加用户','{:url(\'cateAdd\')}')"><i class="layui-icon"></i>添加</button>
       
      </xblock>
      <table class="layui-table">
        <thead>
          <tr>
            <th>ID</th>
            <th>栏目名称</th>
            <th>排序</th>
            <th>类型</th>
            <th>操作</th>
        </thead>
        <tbody>
          <!-- 循环输出数据 -->
          <!-- name="cates":接收的数据的变量名称  id="cate" 使用变量cate来输出cates中的数据 -->
          {volist name="cates" id="cate"}
          <tr>
            <td>{$cate.cate_id}</td>
            <td>{$cate.cate_name}</td>
            <td>{$cate.cate_order}</td>
            <td>{$cate.cate_type}</td>
            <td class="td-manage">
              <a title="编辑"  onclick="x_admin_show('编辑','{:url(\'edit\')}?cateid={$cate.cate_id}')" href="javascript:;">
                <i class="layui-icon">&#xe642;</i>
              </a>
              <a title="删除" onclick="member_del(this,'{$cate.cate_id}')" href="javascript:;">
                <i class="layui-icon">&#xe640;</i>
              </a>
            </td>
          </tr>
        {/volist}

        </tbody>
      </table>

    </div>
    <script>
      layui.use('laydate', function(){
        var laydate = layui.laydate;
        
        //执行一个laydate实例
        laydate.render({
          elem: '#start' //指定元素
        });

        //执行一个laydate实例
        laydate.render({
          elem: '#end' //指定元素
        });
      });

       /*用户-停用*/
      function member_stop(obj,id){
          layer.confirm('确认要停用吗?',function(index){

              if($(obj).attr('title')=='启用'){

                //发异步把用户状态进行更改
                $(obj).attr('title','停用')
                $(obj).find('i').html('&#xe62f;');

                $(obj).parents("tr").find(".td-status").find('span').addClass('layui-btn-disabled').html('已停用');
                layer.msg('已停用!',{icon: 5,time:1000});

              }else{
                $(obj).attr('title','启用')
                $(obj).find('i').html('&#xe601;');

                $(obj).parents("tr").find(".td-status").find('span').removeClass('layui-btn-disabled').html('已启用');
                layer.msg('已启用!',{icon: 5,time:1000});
              }
              
          });
      }

      /*用户-删除*/
      function member_del(obj,id){
          layer.confirm('确认要删除吗?',function(index){
              //发异步删除数据
              $.get("{:url('delete')}",'cate_id='+id,function(data){
                if(data.status==1)
                {
                  $(obj).parents("tr").remove();
                  layer.msg(data.msg,{icon:1,time:1000});
                }
              })
              
          });
      }
    </script>
  </body>

</html>

上方代码的核心源码是:

10分类删除功能的实现第2张

10分类删除功能的实现第3张

创建delete()

10分类删除功能的实现第4张

<?php
namespace app\admin\controller;

//引入公共控制器
use app\common\controller\Base;
//引入模板
use app\common\model\Category as CateModel;

class Category extends Base
{
    public function index()
    {
        //显示分类表中的所有数据
        // 1.获取分页信息
        //  代码解释:all()查询分页表中的所有数据   按照id 升序排列

        $cates = CateModel::all(function($query){
            $query->order('cate_id','asc');
        });
        // 2.模板赋值
        $this->view->cates=$cates;

        // 3.渲染模板
        return $this->view->fetch();
    }

    //编辑分类信息
    public function  edit()
    {
        //获取要修改的分类id: cateId
        //这里直接使用系统控制器的request函数  不需要再引入request对象
        $cateId=$this->request->param('cateid');
        //根据当前分类id,获取对应的分类名称,返回的是数组
        $cate=CateModel::get($cateId);
        //模板赋值
        $this->view->assign('cate',$cate);
        //模板赋值的另一种写法  通过魔术方法set()实现
        // $this->view->cate=$cate;
        //渲染模板
        return $this->view->fetch();

    }

    //处理编辑操作
    public function  doEdit()
    {
        //根据分类id查询分类模型,并返回分类模板的实例对象
        $cate=CateModel::get($this->request->param('cate_id'));

        ////直接更新分类实例的对应字段信息:以对象属性方式
        $cate->cate_name=$this->request->param('cate_name');
        $cate->cate_order=$this->request->param('cate_order');
        $cate->cate_type=$this->request->param('cate_type');

        //更新模型并判断是否成功?
        if($cate->save())
        {
            //可以返回状态0/1之间切换来测试前端的提示信息
            return ['status'=>1,'msg'=>'更新成功'];
        }
        return ['status'=>0,'msg'=>'更新失败'];

    }
    
    //渲染添加模板
    public function cateAdd()
    {
        //添加操作不需要查询直接渲染模板即可
        //渲染模板
        return $this->view->fetch();
    }

    //处理添加分类操作
    public function doAdd()
    {
        // 创建模型对象
        //模型与表对应
        $cate = new CateModel();

        //通过魔术方法给模型对象赋值
        $cate->cate_name=$this->request->param('cate_name');
        $cate->cate_order=$this->request->param('cate_order');
        $cate->cate_type=$this->request->param('cate_type');

        //执行操作  成功返回受影响的行数
        if($cate->save())
        {
            //将数据返回给前端  默认为json   数据默认返回格式可以在项目的配置文件的config/app.php中查看
            return ['status'=>1,'msg'=>'添加成功'];
        }
    }

    //删除分类操作
    public function  delete()
    {
        // 获取前端传入的数据
        $cateId=$this->request->param('cate_id');
        //删除
        if(CateModel::destroy($cateId))
        {
            return ['status'=>1,'msg'=>'删除成功'];

        }
    }

    
}

删除测试

删除前:

10分类删除功能的实现第5张

删除:

10分类删除功能的实现第6张

删除后:

10分类删除功能的实现第7张


愤五捌善垃潭坡矢衡规必筋蠢