zoukankan      html  css  js  c++  java
  • 【京东账户】——Mysql/PHP/Ajax爬坑之购物车列表显示

    一、引言

    做京东账户项目中的购物车模块,功能之二是购物车列表显示。要用到的是Apach环境,Mysql、PHP以及Ajax。

     

    二、小功能-点击“去购物车结算”

    小坑:Ajax动态生成的不能直接绑定,因为绑定时这个对象还不存在,要先找一个已存在的元素委托代理。

    /***去购物车结算**/
      $(document.body).on("click","#my_js",function(){
      location.href = 'shoppingcart.html';
    });

    加载shoppingcart页头页尾

    $("#header").load("data/header.php");
    $("#footer").load("data/footer.php");

     三、购物车列表显示

    原理:页面加载后,异步请求当前登录用户购物车中商品信息

    数据库表:已有的购物车表   产品表

     

    创建php

    ①jd.sql   ②init.php  ③cart_list.php{购物车列表}

          查询数据库    

    • 多表查询
    1. 购物车表       jd_cart{id/uid/productid/count}
    2. 产品表           jd_product{pid/pname/price/pic}
    • 查询:mysql标准语法
    • 查结果{购物车id/产品名称/产品图片/产品价格}

                       {购物车中该产品购买数量}

    1.  几张表,表名                 jd_cart/jd_product
    2. 每一张表起一个别名       c/p
    3. 条件 = > < !=                  c.productid = p.pid

       

    <?php
      header("Content-Type:application/json;charset=utf-8");
      @$uid = $_REQUEST['uid']or die("-1");//获取用户id
      require('init.php');
      $sql = "SELECT c.id,p.pname,p.pic,p.price,c.count
           FROM  jd_cart c,jd_product p
           WHERE c.productid=p.pid
           AND   c.uid = $uid";
      $result = mysqli_query($conn,$sql);
      $rows = mysqli_fetch_all($result,MYSQLI_ASSOC);
      $str = json_encode($rows);
      echo $str;
    ?>
    <?php
      $conn = mysqli_connect("127.0.0.1","root","","jd",3306);
      mysqli_query($conn,"SET NAMES UTF8");
    ?>

     测试 :http://127.0.0.1/jd_store/data/cart_list.php?uid=10     输出所有字符串

    创建js{分析html/css}

          ①shoppingcart.html  

          ②js/shoppingcartt.js 

          ③js

    $.ajax({
            url:"data/cart_list.php",
            data:{uid:10},
            success:function(data){
                var html = "";
                for(var i=0;i<data.length;i++){
                    var obj = data[i];
                html +=`
                   <tr>
                        <td>
                            <input type="checkbox"/>
                            <input type="hidden" value="${obj.pid}" />
                            <div><img src="${obj.pic}" alt=""/></div>
                        </td>
                        <td><a href="">${obj.pname}</a></td>
                        <td>${obj.price}</td>
                        <td>
                            <button>-</button><input type="text" value="${obj.count}"/><button>+</button>
                        </td>
                        <td><span>¥${obj.price*obj.count}</span></td>
                        <td><a href="${obj.id}">删除</a></td>
                    </tr>
                `;
                }
                $("#cart tbody").html(html);
            },
            error:function(){
            }
        });

    实现效果:


     注:转载请注明出处

  • 相关阅读:
    linux驱动---等待队列、工作队列、Tasklets【转】
    Pinctrl子系统之一了解基础概念【转】
    Linux内存管理(最透彻的一篇)【转】
    linux驱动学习笔记---实现中断下半部以及驱动编写规范(七)【转】
    一些网址下载【转】
    Linux /proc/$pid部分内容详解【转】
    Linux kernel workqueue机制分析【转】
    Linux进程核心调度器之主调度器schedule--Linux进程的管理与调度(十九)【转】
    Linux Kernel PANIC(三)--Soft Panic/Oops调试及实例分析【转】
    Linux内核调试的方式以及工具集锦【转】
  • 原文地址:https://www.cnblogs.com/ljq66/p/7599224.html
Copyright © 2011-2022 走看看