php实用技术:制作购物车页面

  这几日,和同事讨论除了定义session数组外,其他的利用php制作电商购物车页面的技巧和这个技巧的雷区后,我们决定将代码放出来,和大家一起分享,共同进步。
  ok,进入主题。
  主题逻辑分析:
    购物车页面,核心内容是,
    1.店家与商品的数据的获取。
    2.依照数据内容,店家需要被构造在页面里,商品需要被构造在页面里。
    3.商品需要经分类被放在各自的店家里。
    4.对商品的增删,在商品增加时不出现重复的,不被分配到错误的店家离去。一个店家的商品消失,店家这一栏也消失。
    5.随后,提交购物车时,被选中的提交,未被选中的不提交。
  首先,我们连接好数据库
  

<?php
//连接数据库,成功返回1.
$conn=mysql_connect('127.0.0.1','root','123456');
$link=mysql_select_db('test',$conn);

  在这里,为了满足一般需求,我不会做的太复杂,只完成商品被渲染出来的部分。
  连接好数据库后,我们就依据自己的购物车表来获取里面所有的货物的id。
  先看一下整体代码
  

$r=mysql_query("select gid from cart");
 while($goods_id = mysql_fetch_array($r)){
           $goods_pice = mysql_fetch_array(mysql_query("select * from cart where gid=$goods_id[0]"));
            //当前商品总信息
            $goods = mysql_fetch_array(mysql_query("select * from goods where gid=$goods_id[0]"));

}

  下面这条语句,配合while可循环遍历出本次查询的所有信息。我们在查询数据库时不都是刷的显示竖着一长串信息,但是在php里,信息总是会显示那一长串的第一条,只有不断调用这一行代码,在可以遍历本次查询的所有信息。

$goods_id = mysql_fetch_array($r)

  因为我们在第一行代码里查找的是所有商品的id,所以每次循环,我们都可以输出,每一个商品的所有信息,然后在取出来以后,利用echo拼接html页面,途中把你的商品信息赋给变量,传进去就好,下面上完整代码
  

<?php
        //查询整个购物车
        $r=mysql_query("select gid from cart");
        查询商品总数
        $shop_good_row = mysql_num_rows(mysql_query("SELECT gid FROM cart"));
        for($g=1;$g<=$shop_good_row;$g++){
            $goods_id = mysql_fetch_array($r);
            //找到当前商品的id
            $goods_pice = mysql_fetch_array(mysql_query("select * from cart where gid=$goods_id[0]"));
            //当前商品总信息
            $goods = mysql_fetch_array(mysql_query("select * from goods where gid=$goods_id[0]"));
            $gname = $goods['gname'];
            $gimg = $goods['gimg'];
            $gprice = $goods['gprice'];
            $sname = $goods['shop'];
            $gid = $goods['gid'];
            $gpice = $goods_pice['c_gpice'];
            //页面图形
            echo '<div class="shops1 shops"><div class="id" style="display: none">'.$goods_id[0].'</div><span class="img"><span class="shops_left"><input type="checkbox" class="chk_zz"></span><img src="' . $gimg . '" alt="pimax小派 vr眼镜4k超高清电脑pc vr头盔虚拟现实跨界潮牌合作款"><span class="font">' . $gname . '</span></span><span class="info">pimax小派 vr眼镜4k超高清电脑pc vr头盔虚拟现实跨界潮牌合作款</span><span class="one_price">¥<em>' . $gprice . '</em></span><span class="shops_pice"><input class="chk_left" type="button" value="-" ><input class="pice" type="text" value="'.$gpice.'"><input class="chk_right" type="button" value="+"></span><span style="color:red">¥<em class="all_price">'.$gpice*$gprice.'</em></span><span class="handle"><a href="#">移入收藏夹</a><a href="#" class="del" >删除</a><br><a href="#">相似宝贝</a></span></div>';
        }
        ?>

  值得一提的是,echo输出的html代码我之前在工具网站里进行压缩过,不然你每次换行,都需要添加 “+” 很麻烦,下面给你网址
  
(https://tool.lu/c/developer  “工具网”)

这里写图片描述
   
  一个小demo,虽然简陋,但是五脏俱全,如果对jq控制显示点击选择或者加减商品总价的的朋友,欢迎浏览我的qq 1561790480;下次博客,不见不散。

猜你喜欢

转载自blog.csdn.net/qq_31076033/article/details/81810536