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

后台逻辑删除与回收处理实现
该博客讨论了后台在删除数据时采用逻辑删除的方法,通过更新数据库中特定字段来标记删除状态,而非实际物理删除。同时介绍了如何接收ajax参数,依据这些参数更新删除标识并返回json响应。

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));
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值