后台实现逻辑删除回收处理

1.后台删除数据时一般不会真正的删除,而是将数据库中的某个字段更改标记为删除状态,实现逻辑删除;

<a class="link-recycle" art_id="{$val.art_id}" href="javascript:void(0)">删除a>

 <script>
      $('.link-recycle').click(function(){
      var bool=window.confirm("您确定移除此条博文信息吗?");
     if(!bool){
           return false;
        }
       //取出自定义art_id属性的值
       var art_id=$(this).attr('art_id');
       //自定义存储删除链接对象方便下面调用
       var _this=$(this);

       //ajax get方式请求
       $.get("{:U('Article/recycle')}",{'art_id':art_id},function($data){
       console.log($data);
       if($data.status){
       //此处移除此条数据但并未实现数据库真正的删除
            _this.parents('tr').remove();
       //刷新时,因为当条记录已经被做了删除标记,查询时将不会出现此条记录
            location.reload(); 
       }else{
            alert($data.msg);
       }
     },'json')          
   })
   script>

2.后台接收ajax参数并作为查询条件进行删除字段的标识,并返回json数据

    /*博文移除到回收站
    @author:ren
    @return:status和msg;
    */
    public function recycle(){
        $art_id=I('get.art_id');
        //修改is_delete的值,首页增加查询条件显示is_delete=0的数据
        $result=M('article')->where("art_id='$art_id'")->setField('is_delete',1);
        //自定义返回数据格式
        $data=array('status'=>0,'msg'=>'');
        if($result>0){
            $data['status']=1;
        }else{
            $data['msg']='移除失败!';
        }
        //转换为json响应给前端
        exit(json_encode($data));
    }

你可能感兴趣的:(后台逻辑删除,回收处理)