php教程

超轻量级php框架startmvc

php 实现收藏功能的示例代码

更新时间:2020-03-23 16:21 作者:startmvc
整理文档,搜刮出一个php实现收藏功能的示例代码,稍微整理精简一下做下分享。HTML:<acl

整理文档,搜刮出一个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);
 }
 }

思路:基本没什么难度,注意细节即可。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。