高效Web开发的10个jQuery代码片段
411
2024-02-24
整理文档,搜刮出一个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); } }
思路:基本没什么难度,注意细节即可。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持绿夏网。
#免责声明#
本站[绿夏技术导航]提供的一切软件、教程和内容信息仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络收集整理,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑或手机中彻底删除上述内容。如果您喜欢该程序或内容,请支持正版,购买注册,得到更好的正版服务。我们非常重视版权问题,如有侵权请邮件[admin@lxwl520.com]与我们联系进行删除处理。敬请谅解!