如何使用PHP会话创建一个简单的购物车?

时间:2014-04-15 01:33:30

标签: javascript php jquery ajax

我正在为我的页面创建一个购物车,这是我第一次创建购物车。我对PHP会话有一个了解以及如何使用它们但我在创建购物车时遇到了困难。

到目前为止,我所拥有的一切。

$category   =   $_GET['cat'];
$product_id =   $_GET['product'];

$product_detail = get_allproduct_detail($product_id); //query to get product info

$prod_price = $product_detail['prod_price'];
$sale_price = $product_detail['sale_price'];
$prod_type  = $product_detail['prod_type'];

这是产品部分

<div id="main_item_img">
    <img src="/ahm/images/aroma/large/<?php echo $category; ?>/<?php echo get_product_img($_GET['product']); ?>.jpg" />
    <div id="magnify">
        <div class="zoom fitInBox">Fit in the Box</div>
        <div class="zoom originalSize">Original Size</div>
        <div class="zoom zoomin">zoom +</div>
        <div class="zoom zoomout">zoom -</div>
    </div>
</div>

<form method="POST" action="">

    <div id="item_detail_right">
        <label>Qty:<input type="text" name="qty" value="1" size="5" style="text-align: center" />
        <input type="button" value="+Cart" />
        <input type="button" value="+Wishlist" id="mywishlist" data-wishlist-id="<?php echo $_GET['product']; ?>" />
        <input type="hidden" name="product_price" value="<?php echo $prod_price; ?>" />
        <input type="hidden" name="sale_price" value="<?php echo $sale_price; ?>" />
        <input type="hidden" name="product_id" value="<?php echo $_GET['product']; ?>" />
        <input type="hidden" name="product_name" value="<?php echo strtoupper(get_product_name($_GET['product'])); ?>" />

    </div>

</form>

<div id="cart_list">
    <!-- This should be display the cart list -->
</div>

如何创建添加/更新价格和删除购物车项目的功能?我想要的是在用户点击添加到购物车后。它将在显示产品购物车和总数的同一页面中显示一个部分或div。我是否需要为这个或简单的纯PHP代码设置AJAX?我也是AJAX流程的初学者。

我该怎么做?你能举个例子吗?

1 个答案:

答案 0 :(得分:2)

这是你需要做的:

  1. 了解如何使用会话:http://www.w3schools.com/php/php_sessions.asp

  2. 将所选订单项(对象/数组)存储在会话中。例如:array(array(&#39; pAAA&#39;,&#39; 2&#39; 550,&#34; img / pAAA.jpg&#34;),array(&#39; pAA1&#39 ;,&#39; 2&#39; 550&#34; IMG / pAA1.jpg&#34));存储在名为shopping_card的命名会话中。

  3. 在显示卡片的产品部件页面上,执行以下操作:

  4.  <?php if(isset($_SESSION['shopping_card'])): ?> //check if session is set ?>
         <div id="cart_list">
         <?php foreach($_SESSION['shopping_card'] as $product): ?>
                   <!-- This should be display the cart list -->
         <?php end foreach;?>
        </div>
      <?php endif; ?>
    

    确保您已启动会话。因此,每当用户将某些内容发布到购物卡时,页面就会刷新。希望它有所帮助。我没有真正检查语法。我的主要目标是为您提供有关如何开始的流程。