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));
}