php 实现收藏功能的示例代码
整理文档,搜刮出一个php 实现收藏功能的示例代码,稍微整理精简一下做下分享。
HTML:
<a class = "x" id="{$photo.id}" uid="{$Think.session.uid}" status = "{$collect_pic}" href = "javascript:void(0);"> <if condition = "$collect_num gt 0"> <span>取消收藏</span> <else/><span>收藏</span></if></a>
Js:
//点击收藏,实现已收藏 $('.x').on('click',function(){ var Oa=$(this); var id=Oa.attr('id');//获取图片id属性 var uid = Oa.attr('uid');//获取用户id var status = Oa.attr('status'); //获取收藏状态 1收藏,0取消收藏 $.post('url',{id:id,uid:uid,status:status},function(msg){ if(msg.status==1){ Oa.find("span").text('取消收藏'); Oa.attr('status','1'); }else{ Oa.find("span").text('收藏'); Oa.attr('status','0'); } },'json') })
PHP:
//判断用户是否已收藏该图片 $data['uid'] = $_SESSION['uid']; $data['pid'] = $pid; $collect_pic = M('collect')->where($data)->getfield('status'); $this->collect_num = $collect_num; $this->collect_pic = $collect_pic; //收藏成功 public function cang(){ $data['pid'] = isset($_POST['id'])?intval(trim($_POST['id'])):0; $data['uid'] = $_SESSION['uid']; //默认o收藏 1取消收藏 $status = isset($_POST['status'])?intval(trim($_POST['status'])):0; $db = M('collect'); if($status == 0){ //数据组装,忽略 if(M('collect')->data($collect)->add()){ $msg['info'] = "ok"; $msg['status'] = 1; $this->ajaxreturn($msg); exit; }else{ $msg['info'] = 'fail'; $msg['status'] = 1; $this->ajaxreturn($msg); } }else{ //取消收藏 if($db->where($data)->delete()){ $msg['info'] = "ok"; $msg['status'] = 0; $this->ajaxreturn($msg); exit; }else{ $msg['info'] = 'fail'; $msg['status'] = 0; $this->ajaxreturn($msg); } }
思路:基本没什么难度,注意细节即可。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持积木网。
php 接口与前端数据交互实现示例代码
最近在做前后端数据交互的尝试,也跳了很多坑,使用的是php+bootstrap-table+js,把一些收获记录在这里,方便查询。这个小项目,仅有3个文件,分别为:
php curl请求接口并获取数据的示例代码
当我们在做PHP开发的时候,很多时候需要对接口进行测试,或者更方便的调用一些已有模块的接口,取到结果并进行后续操作,我们可以通过curl进行模
Yii2框架之ListView小部件的使用方法
ListView是yii框架中类似GridView,也是用于展示多条数据的小部件,相比GridView,ListView可以更加灵活地设置数据展示的格式。下面以我自己做的一个使用Lis
编辑:一起学习网
标签:收藏,数据,示例,接口,代码