版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/love_fish_dream/article/details/70040095
想要实现基本的购物车功能,要对数据库 后台及前端知识有一定的了解
咱们可以先了解一下数据表之间的关系
(1)一对一关系
emp(eid,ename,computerId)<=>
computer(cid,price,empId)
(2)一对多关系
dept(did,dname)
<=>
emp(eid,ename,deptId)
(3)多对多关系
product(pid,price)
cart(cid, userName)
京东购物车
实现步骤: SQL => PHP => HTML
(1)编写SQL,数据库名:jd,包含如下的表:
用户表: jd_user( uid, uname, upwd )
商品表: jd_product( pid, pname, price, pic )
购物车表: jd_cart( cid, userId )
购物车详情表: jd_cart_detail( did, cartId, productId, count)
(2)创建login.php,接收客户端提交的用户名和密码,验证是否正确,向客户端输出ok或err
(3)编写JS,读取用户在输入框中的输入,异步提交给login.php,验证用户名和密码是否正确,错误则给用户提示;正确则关闭登录对话框
(4)创建product_select.php,向客户端输出所有的商品信息,以JSON格式
(5)修改productlist.js,页面加载完成后,异步请求商品信息,展示在商品列表中
(6)创建cart_add.php,接收客户端提交的uname和pid,把相关信息保存入需要的表——实现比较复杂,挑战一下!
SQL1:根据用户名查找用户编号
SELECT uid FROM jd_user WHERE uname='?'
SQL2:根据用户编号查找购物车编号
SELECT cid FROM jd_cart WHERE userId='?'
SQL3:若用户编号没有对应的购物车编号,则执行添加语句生成购物车,得到购物车编号
INSERT INTO jd_cart VALUES(NULL, '?')
SQL4:根据购物车编号和产品编号,到详情表查询是否有该记录
SELECT * FROM jd_cart_detail WHERE cartId=? AND productId=?
SQL5:若详情表中没有该商品记录,则执行插入,购物数量为1
INSERT INTO jd_cart_detail VALUES(NULL,'?','?', 1)
SQL6:若详情表中已有该商品记录,则执行更新,购买数量+1
UPDATE jd_cart_detail SET count=count+1 WHERE cartId='?' AND productId='?'
PHP页面最终返回:{"msg": "ok","uid":1,"cid":100,"pid":10,"count":4}
(7)修改productlist.js,为每个商品下的“添加到购物车”按钮添加单击事件监听,异步提交当前登录的用户名和当前商品的编号,保存购买信息
(8)创建shoppcart.js,在shoppingcart.html中引用;待shoppingcart.html页面加载完成,异步请求公用的页头和页尾
(9)创建PHP,cart_detail.php,接收客户端提交的用户名,向客户端输出该用户的购物车详情
(10)修改shoppingcart.js,待html加载完成,异步请求当前登录用户的购物车详情
基本的实现步骤就是这样啦,赶紧动起手来吧