当前位置:Gxlcms > php框架 > php 实现收藏功能的示例代码

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

时间:2021-07-01 10:21:17 帮助过:9人阅读

整理文档,搜刮出一个php 实现收藏功能的示例代码,稍微整理精简一下做下分享。

HTML:

  1. <a class = "x" id="{$photo.id}" uid="{$Think.session.uid}" status = "{$collect_pic}" href = "javascript:void(0);">
  2. <if condition = "$collect_num gt 0">
  3. <span>取消收藏</span>
  4. <else/><span>收藏</span></if></a>

Js:

  1. //点击收藏,实现已收藏
  2. $('.x').on('click',function(){
  3. var Oa=$(this);
  4. var id=Oa.attr('id');//获取图片id属性
  5. var uid = Oa.attr('uid');//获取用户id
  6. var status = Oa.attr('status'); //获取收藏状态 1收藏,0取消收藏
  7. $.post('url',{id:id,uid:uid,status:status},function(msg){
  8. if(msg.status==1){
  9. Oa.find("span").text('取消收藏');
  10. Oa.attr('status','1');
  11. }else{
  12. Oa.find("span").text('收藏');
  13. Oa.attr('status','0');
  14. }
  15. },'json')
  16. })

PHP:

  1. //判断用户是否已收藏该图片
  2. $data['uid'] = $_SESSION['uid'];
  3. $data['pid'] = $pid;
  4. $collect_pic = M('collect')->where($data)->getfield('status');
  5. $this->collect_num = $collect_num;
  6. $this->collect_pic = $collect_pic;
  7. //收藏成功
  8. public function cang(){
  9. $data['pid'] = isset($_POST['id'])?intval(trim($_POST['id'])):0;
  10. $data['uid'] = $_SESSION['uid'];
  11. //默认o收藏 1取消收藏
  12. $status = isset($_POST['status'])?intval(trim($_POST['status'])):0;
  13. $db = M('collect');
  14. if($status == 0){
  15. //数据组装,忽略
  16. if(M('collect')->data($collect)->add()){
  17. $msg['info'] = "ok";
  18. $msg['status'] = 1;
  19. $this->ajaxreturn($msg);
  20. exit;
  21. }else{
  22. $msg['info'] = 'fail';
  23. $msg['status'] = 1;
  24. $this->ajaxreturn($msg);
  25. }
  26. }else{
  27. //取消收藏
  28. if($db->where($data)->delete()){
  29. $msg['info'] = "ok";
  30. $msg['status'] = 0;
  31. $this->ajaxreturn($msg);
  32. exit;
  33. }else{
  34. $msg['info'] = 'fail';
  35. $msg['status'] = 0;
  36. $this->ajaxreturn($msg);
  37. }
  38. }

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

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

人气教程排行