php 怎么实现收藏功能,php收藏功能如何实现

php收藏功能如何实现

php收藏功能的实现方法:首先创建好数据库表 ;然后创建前台代码,实现登录界面;接着通过html实现收藏样式;最后使用php进行后台处理即可。

15b558a74dd54e0d5de2ee6c9e6f9778.png

推荐:《PHP视频教程》

这是数据库表

b08065115f488b24c696795272a9b659.png

话不多说上代码

前台

$(function(){

$('#sc').click(function(){

var gid=$(this).attr('data-id'); var data={

gid:gid

};

$.ajax({

url:"{:U('Goods/collect_add')}",

type:"post",

data:data,

success:function(data){

// window.clearInterval(timer);

if(data==1){

window.location.href="{:U('Public/login')}"; //登陆界面

}else { if(data==2){

$('#sc').css({ 'background-color':'white', 'color':'#00ccff',

});

$('#sc_words').html( '收藏'

);

}else if(data==3){

$('#sc').css({ 'background-color':'#00ccff', 'color':'white',

});

$('#sc_words').html( '已收藏'

);

}else{

alert(data);

}

}

},

error:function(){

alert('请求失败');

}

});

});

})

html部分

收藏

php后台处理// 商品收藏 1 代表未登录 2代表取消收藏 3 代表 收藏成功

public function collect_add(){

if(empty(session('uid'))){ echo '1';

}else { $collect=M('collect'); $gid=I('post.gid'); //先确定是否已收藏

$map['gid']=$gid; $map['uid']=session('uid'); $data=$collect->where($map)->find(); if($data){ if($data['status']==1){ $collect->where('id='.$data['id'])->setField('status',0); echo '2';

}else{ $collect->where('id='.$data['id'])->setField('status',1); echo '3';

}

}else{ if($collect->create()){ $collect->gid=$gid; $collect->create_time=get_date(); $collect->uid=session('uid'); $collect->status=1; $collect->add(); echo '3';

}else{ echo '服务器出错,请重试!';

}

}

}

}

php收藏功能如何实现的教程已介绍完毕,更多请关注跳墙网其他文章教程!

php收藏功能如何实现相关教程

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/277428.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

quartus FIR仿真笔记

第一章: 最近百度了一些fir滤波器的资料,都没有自己想要的。容我吐槽一大段文字> 在旧版的quartus中,比如13.0,有两个fir滤波器的选项,如下所示: 网上很多都是讲不带II的那个,而在新版的quar…

git常用命令及分支简介

2019独角兽企业重金招聘Python工程师标准>>> 1、git基本命令 1)git add 将想要快照的内容写入缓存区 2)git status -s "AM" 状态的意思是,这个文件在我们将它添加到缓存之后又有改动 3)git commit -m 第一次…

企业私有云部署im,视频服务

1,安全问题 2,员工跨地域 3,内部视频培训 考勤申请,设备借用申请 名片申请 会议室预订 审批 内网,局域网部署 Android源码 https://github.com/starrtc/android-demo ios源码https://github.com/starrtc/ios-demo

Leetcode怎么调试java代码,在Clion上调试LeetCode代码

在Clion上调试LeetCode代码在leetcode上做题调试起来总有些不方便,所以查阅了一些资料后,按以下配置,自我感觉效率还行,分享给大家。祝大家刷题愉快。并附上自己整理的leetcode400题题表。Leetcode400题:notion地址依赖…

来入门一下kotlin吧

Kotlin是什么? Kotlin是一种在java虚拟机上运行的静态类型的编程语言,被称之为 Android 世界的Swift,由 JetBrains 设计开发并开源。 Kotlin的优势! Kotlin可以编译成java字节码,也可以编译成JavaScript。方便在没有ja…

ReactNative 触摸事件处理

ReactNative触摸事件处理 对RN触摸事件的捕获与冒泡机制的理解 组件A、B、C结构 组件A组件B组件C 捕获、冒泡机制 sequenceDiagram A->>A: 是否捕获?若是则停止向下一级传递 A->>B: B->>B: 是否捕获?若是则停止向下一级传递 B->&g…

程序员如何面试才能拿到offer

一、概述 面试,难还是不难?取决于面试者的底蕴(气场技能)、心态和认知及沟通技巧。面试其实可以理解为一场聊天和谈判,在这过程中有心理、思想上的碰撞和博弈。其实你只需要搞清楚一个逻辑:“面试官为什么会…

Generative Adversarial Learning Towards Fast Weakly Supervised Detection(CVPR2018)阅读笔记

弱监督目标检测相对于一般的目标检测任务来说,训练样本不需要实例级别的标注,只需要图片级别的标注,即告诉图片中有什么而不需标注位置信息,这种标注图片容易获取,能节省标注时间及精力。现有的大部分方法在进行若监督…

如何添加JWT生成的token在请求头中

前言 在我们使用JWT来做用户的验证时,我们登陆生成对应的token,并加入到请求的参数中发送到后台提供相关的权限校验。这个时候我们需要使用到传递请求头参数传递的问题,下面是两种方式。 1.ajax提交方式 1).方法一: $.ajax({ type…

Gradle 使用技巧(二) - SO/NDK过滤

引言 作为一个Android开发人员,so对于我们来讲是极其常见的,各种大厂的SDK中都包含着各种各样的so,而so也是apk瘦身的重要一环,减少so平台的数量,可以极大限度的减少apk的大小。 Android 中的so 先看一张官方的图&…

VMware——安装CentOS

VMware——安装CentOS 摘要:本文主要记录了在VMware虚拟机里安装CentOS的步骤。 下载操作系统 可以从下面的镜像地址去下载各种版本的CentOS,此次安装使用的版本是7.2: http://archive.kernel.org/centos-vault/ http://mirror.nsc.liu.se/ce…

牛客小白月赛6 水题 求n!在m进制下末尾0的个数 数论

链接:https://www.nowcoder.com/acm/contest/135/C来源:牛客网 题目描述 其中,f(1)1;f(2)1;Z皇后的方案数:即在ZZ的棋盘上放置Z个皇后,使其互不攻击的方案数。 输入描述: 输入数据共一行,两个正整数x,m&am…

ajax 页面无刷新

<!-- 使用原生Ajax 和 $.ajax 实现局部刷新的过程 --><!-- 封装通用XMLHttpRequest对象 --><!DOCTYPE html><html lang"en"><head> <meta charset"UTF-8"> <title>创建XMLHttpRequest</title> <style&…

php7安装详解_,PHP7 redis扩展安装详解

1、安装redis(1)下载&#xff1a;https://github.com/phpredis/phpredis/tree/php7 或下载http://pan.baidu.com/s/1i5DFrjn用samba挂载导进去(2)yum -y install m4 autoconf # 安装依赖(3)unzip phpredis-php7.zip # 解压(4)cd ./phpredis-php7 # 进入目录(5)phpize #用php…

python之_init_函数的简介

1、每个package中都必须包含一个_init_.py文件除了不需要加载模块的 它方便在外部统一调用&#xff0c;和在内部互相调用&#xff0c;它可以为空&#xff0c;当为空时&#xff0c;作用是将这个文件夹下的内容当作包执行&#xff0c;便于解释器区分执行。 2、定义类的时候&#…

22. Generate Parentheses

题目描述&#xff1a; Given n pairs of parentheses, write a function to generate all combinations of well-formed parentheses. For example, given n 3, a solution set is: ["((()))","(()())","(())()","()(())","()()…

es6中的块级作用域

块级作用域 凡是带{}都是块级作用域&#xff0c;if(){} for(){} 对象{} 1.在块级作用域下&#xff0c;var 和function跟在window下一样&#xff0c; function有个特殊的一点&#xff0c;在块级作用域下会提前声明&#xff0c;不会提前定义 2.在块级作用域下 let和const声明的变…

php图片地址参数错误,图片上传时一直显示请求地址错误怎么办

1、出现“请求地址错误”的直接原因&#xff1a;图中$action null2.根本原因&#xff1a;url美化那一节课程&#xff0c;去掉 index.php的.htaccess 文件修改的时候&#xff0c;没有按照老师的来写&#xff0c;所以美化url以后获取不到地址栏参数&#xff0c;导致$action值为n…

C#写的WebServices可运行于树莓派

阅读目录 Raspkate - 基于.NET的可运行于树莓派的轻量型Web服务器Raspkate项目演示回到目录Raspkate - 基于.NET的可运行于树莓派的轻量型Web服务器 最近在业余时间玩玩树莓派&#xff0c;刚开始的时候在树莓派里写一些基于wiringPi库的C语言程序来控制树莓派的GPIO引脚&#x…

[导入]Ms XmlDom 异步装载Xml文件

Ms XmlDom 异步装载Xml文件文章来源:http://blog.csdn.net/net_lover/archive/2004/07/07/36015.aspx 转载于:https://www.cnblogs.com/zhaoxiaoyang2/archive/2004/07/07/816151.html