一、引言

做京东账户项目中的购物车模块,功能之三就是删除购物车中的选项。要用到的是Apach环境,Mysql、PHP以及Ajax。

二、依据功能创建库、表、记录

创建库:jd
创建表:购物车表  jd_cart

购物车编号 id INT
用户编号 uid INT
产品编号 productid INT
购买数量 count INT

三、创建php
①jd.sql   ②init.php  ③cart_del.php
header("content-type:application/json;...");

  1. 获取删除购物项id值       '{"code":-1,"msg":"删除编号不能为空"}'连接数据
  2. 发送sql删除                    '{"code":1,"msg":"删除成功"}'
<?php
header("Content-Type:application/json;charset=utf-8");
$id = $_REQUEST['id'] or die ('{"code":-1,"msg":"删除编号不能为空"}');
require('init.php');
$sql = "DELETE FROM jd_cart WHERE id=$id";
$result = mysqli_query($conn,$sql);
echo '{"code":1,"msg":"删除成功"}';
?>

测试  :http://127.0.0.1/jd_store/data/cart_del.php?id=1       返回{"code":1,"msg":"删除成功"}

四、创建js{分析html/js}

  • shoppingcart.html
<td><a href="1">删除</a></td>                         42 line
$("a:contains('删除')").click(); 坑,直接绑定元素是不对的
$("#cart tbody").on('click','a:contains("删除")');; 正确方式 动态添加的要代理
  • js/shoppingcart.js

a->td->tr 删除

/***删除购物车选项***/
$("#cart tbody").on("click","a:contains('删除')",function(e){
e.preventDefault();
var did = $(this).attr("href");
//留存this-->a 后面会变
var that = this;//that -->a
$.ajax({
type:"POST",
url:"data/cart_del.php",
data:{id:did},
success:function(data){
if(data.code<0){
alert("删除失败:原因"+data.msg);
}else{
alert("删除成功");
$(that).parent().parent().remove();
}
},
error:function(){
alert("删除失败,请检查网络");
}
});
});

bug:删除失败,请检查网络

原因:cart_del.php访问地址写错。也会导致网络请求错误。要写成data/cart.del,php。

实现效果:

五、小功能-修改购物车项目数量

创建php:

  • data/cart_update_add.php
  • data/cart_update_sub.php

header("content-type:application/json;...");

  1. 获取修改购物项id值       '{"code":-1,"msg":"删除编号不能为空"}'连接数据
  2. 连接数据      
    UPDATE jd_cart  SET   count = count+1//加+1,减-1
    WHERE id = $id;
  3. 发送sql删除                    '{"code":1,"msg":"删除成功"}'

创建js{分析html/js}:

  • shoppingcart.html

    <td>1199.00</td>
    <td>
    <button>-</button>
    <input type="text" value="8">
    <button>+</button>
    </td>
    <td><span>¥9552</span></td>
  • js/shoppingcart.js

【京东账户】——Mysql/PHP/Ajax爬坑之购物车删除选项的更多相关文章

  1. 【京东账户】——Mysql/PHP/Ajax爬坑之购物车列表显示

    一.引言 做京东账户项目中的购物车模块,功能之二是购物车列表显示.要用到的是Apach环境,Mysql.PHP以及Ajax. 二.小功能-点击“去购物车结算” 小坑:Ajax动态生成的不能直接绑定,因 ...

  2. 【京东账户】——Mysql/PHP/Ajax爬坑之购物车列表分页

    一.引言 做京东账户项目中的购物车模块,功能之四就是购物车列表的分页显示.要用到的是Apach环境,Mysql.PHP以及Ajax. 二.查询数据 mysql: SELECT * FROM jd_pr ...

  3. 【京东账户】——Mysql/PHP/Ajax爬坑之添加购物车

    一.引言 做京东账户项目中的购物车模块,功能之一就是添加购物车.要用到的是Apach环境,Mysql.PHP以及Ajax. 预计效果:用户点击->"加入购物车"  添加成功 ...

  4. 【京东账户】——Mysql/PHP/Ajax爬坑之页头页尾加载

    一.引言 实现京东的账户项目,有一个小功能,页头页尾加载.要用到的是Apach环境,Mysql.PHP以及Ajax. 二.实现 原理: 用php文件分别写一个的页头和一个页尾,放在前后两个div里. ...

  5. 【京东账户】——Mysql/PHP/Ajax爬坑之产品列表显示

    一.引言 实现京东的账户项目,功能模块之一,产品列表显示.要用到的是Apach环境,Mysql.PHP以及Ajax. 二.依据功能创建库.表.记录 创建库:jd 创建表:产品表 添加多条记录 /**产 ...

  6. 【京东账户】——Mysql/PHP/Ajax爬坑之用户登录

    一.引言 实现京东的账户项目,功能模块之一,用户登录.要用到的是Apach环境,Mysql.PHP以及Ajax. 二.依据功能创建库.表.记录 创建库:jd 创建表:登录表 添加三条记录 CREATE ...

  7. 【唯星宠物】——BootStrap/Mysql/PHP/Ajax爬坑之正则验证登录注册子页

    前言:唯星宠物产品官网的登录注册,单独一个子页,页面使用BootStrap实现响应式,PHP提供服务端,利用Ajax技术,从Mysql中获取JSON数据,并对表单信息进行正则验证.项目github地址 ...

  8. 【魅族Pro7】——BootStrap/JQuery/Canvas/PHP/MySQL/Ajax爬坑之项目总结(一)

    前言:这个项目是我们小组团体合作完成的学习项目,项目使用魅族GUI设计和图片素材,响应式重构Pro7官网的首页.子页.商城及购物车,并加入一些创新.我主要负责的是[画屏子页]的项目,这里作为温故知新, ...

  9. 【魅族Pro7】——BootStrap/JQuery/Canvas/PHP/MySQL/Ajax爬坑之项目总结

    前言:这个项目是我们小组团体合作完成的学习项目,项目使用魅族GUI设计和图片素材,响应式重构Pro7官网的首页.子页.商城及购物车,并加入一些创新.我主要负责的是[画屏子页]的项目,这里作为温故知新, ...

随机推荐

  1. 理解机器为什么可以学习(五)---Noise and Error

    之前我们讨论了VC Dimension,最终得到结论,如果我们的hypetheset的VC Dimension是有限的,并且有足够的资料,演算法能够找到一个hypethesis,它的Ein很低的话,那 ...

  2. 微信小程序--问题汇总及详解之picker 增、删

    <block wx:for="{{salesList}}" wx:for-index="index" wx:key="id" wx:f ...

  3. UVALive 5987

    求第n个数,该数满足至少由3个不同的素数的乘机组成 #include #include #include #include #include using namespace std; int prim ...

  4. 【bzoj3924】[Zjoi2015]幻想乡战略游戏 动态点分治

    题目描述 傲娇少女幽香正在玩一个非常有趣的战略类游戏,本来这个游戏的地图其实还不算太大,幽香还能管得过来,但是不知道为什么现在的网游厂商把游戏的地图越做越大,以至于幽香一眼根本看不过来,更别说和别人打 ...

  5. C#的一些基本问题

    静态类和静态变量静态类的定义:static class 类名 静态方法和变量必须使用类名来引用,而不能使用实例化后的对象,因为,静态变量不属于任何实例,而是共有的. 非静态类里面既可以定义静态方法也可 ...

  6. ELF反调试初探

    ELF反调试初探 http://www.freebuf.com/sectool/83509.html ELF(Executable and Linkable Format)是Unix及类Unix系统下 ...

  7. 【POJ2774】Long Long Message (SA)

    最长公共子串...两个字符串连在一起,中间放一个特殊字符隔开.求出height之后,枚举height,看两个后缀是不是分布于两段字符串..如果是,这个值就可以作为答案.取最大值即可. ; var c, ...

  8. svg动画 之 我的自制太阳系

    SVG意为可缩放矢量图形,svg的图片与普通的jpg,png等图片相比,其优势在于不失真.一般普通的图片放大后,会呈现出锯齿的形状,但是svg图片则不会这样,它可以被高质量地打印. 现在就用dream ...

  9. Python之时间:time模块

    import time   对于时间,使用最频繁的模块 1.获取当前时间 (1)时间戳 time.time() 时间戳:从1970年1月1日0点开始到现在按秒计算的偏移量 (2)时间元组 time.l ...

  10. 解决ie8下面placeholder显示问题

    今天测试反馈一个bug,需要在ie8下面看到placeholder提示,开始的想法是对ie8进行降级处理,在ie8下面就不显示了. 现在测试反馈了,解决办法. function isLowIE() { ...