Shopping cart đơn giản sử dụng php và Mysql

    Rating: ★★★★☆
    View: 253
    Download: 1648

    Giỏ hàng là một phần quan trọng của mỗi dự án Thương mại điện tử. Nó giúp người dùng chọn nhiều mặt hàng để mua và xem tổng giá trước khi gửi đơn đặt hàng. Nếu bạn muốn xây dựng một giỏ mua hàng PHP, hướng dẫn từng bước này sẽ giúp bạn rất nhiều. Trong hướng dẫn này, sẽ cung cấp hướng dẫn và tập lệnh hoàn chỉnh để tạo một giỏ mua hàng đơn giản trong PHP bằng các phiên và MySQL .

    Hướng dẫn này được thiết kế đơn giản và dễ hiểu khái niệm giỏ hàng sử dụng ngôn ngữ php. Trong tập lệnh mẫu của chúng tôi, chúng tôi sẽ sử dụng phiên PHP để lưu trữ thông tin sản phẩm trong giỏ hàng. Sau khi người dùng gửi đơn đặt hàng, thông tin sản phẩm sẽ được chèn vào cơ sở dữ liệu bằng PHP và MySQL.

    Trước khi bạn bắt đầu, vui lòng xem cấu trúc tệp của tập lệnh giỏ hàng PHP.

    - dbcontroller.php 

    - index.php

    - style.css

    - tblproduct.sql 

    - product-images

    1. Khởi tạo danh sách sản phẩm

    <?php
    $product_array = $db_handle->runQuery("SELECT * FROM tblproduct ORDER BY id ASC");
    if (!empty($product_array)) { 
    	foreach($product_array as $key=>$value){
    ?>
    	<div class="product-item">
    		<form method="post" action="index.php?action=add&code=<?php echo $product_array[$key]["code"]; ?>">
    		<div class="product-image"><img src="<?php echo $product_array[$key]["image"]; ?>"></div>
    		<div class="product-tile-footer">
    		<div class="product-title"><?php echo $product_array[$key]["name"]; ?></div>
    		<div class="product-price"><?php echo "$".$product_array[$key]["price"]; ?></div>
    		<div class="cart-action"><input type="text" class="product-quantity" name="quantity" value="1" size="2" /><input type="submit" value="Add to Cart" class="btnAddAction" /></div>
    		</div>
    		</form>
    	</div>
    <?php
    	}
    }
    ?>

    2. Thêm sản phẩm vào trong giỏ hàng

    case "add":
    	if(!empty($_POST["quantity"])) {
    		$productByCode = $db_handle->runQuery("SELECT * FROM tblproduct WHERE code='" . $_GET["code"] . "'");
    		$itemArray = array($productByCode[0]["code"]=>array('name'=>$productByCode[0]["name"], 'code'=>$productByCode[0]["code"], 'quantity'=>$_POST["quantity"], 'price'=>$productByCode[0]["price"], 'image'=>$productByCode[0]["image"]));
    		
    		if(!empty($_SESSION["cart_item"])) {
    			if(in_array($productByCode[0]["code"],array_keys($_SESSION["cart_item"]))) {
    				foreach($_SESSION["cart_item"] as $k => $v) {
    						if($productByCode[0]["code"] == $k) {
    							if(empty($_SESSION["cart_item"][$k]["quantity"])) {
    								$_SESSION["cart_item"][$k]["quantity"] = 0;
    							}
    							$_SESSION["cart_item"][$k]["quantity"] += $_POST["quantity"];
    						}
    				}
    			} else {
    				$_SESSION["cart_item"] = array_merge($_SESSION["cart_item"],$itemArray);
    			}
    		} else {
    			$_SESSION["cart_item"] = $itemArray;
    		}
    	}
    	break;

    3. Liệt kê những sản phẩm trong giỏ hàng

    <div id="shopping-cart">
    <div class="txt-heading">Shopping Cart</div>
    
    <a id="btnEmpty" href="index.php?action=empty">Empty Cart</a>
    <?php
    if(isset($_SESSION["cart_item"])){
        $total_quantity = 0;
        $total_price = 0;
    ?>	
    <table class="tbl-cart" cellpadding="10" cellspacing="1">
    <tbody>
    <tr>
    <th style="text-align:left;">Name</th>
    <th style="text-align:left;">Code</th>
    <th style="text-align:right;" width="5%">Quantity</th>
    <th style="text-align:right;" width="10%">Unit Price</th>
    <th style="text-align:right;" width="10%">Price</th>
    <th style="text-align:center;" width="5%">Remove</th>
    </tr>	
    <?php		
        foreach ($_SESSION["cart_item"] as $item){
            $item_price = $item["quantity"]*$item["price"];
    		?>
    				<tr>
    				<td><img src="<?php echo $item["image"]; ?>" class="cart-item-image" /><?php echo $item["name"]; ?></td>
    				<td><?php echo $item["code"]; ?></td>
    				<td style="text-align:right;"><?php echo $item["quantity"]; ?></td>
    				<td  style="text-align:right;"><?php echo "$ ".$item["price"]; ?></td>
    				<td  style="text-align:right;"><?php echo "$ ". number_format($item_price,2); ?></td>
    				<td style="text-align:center;"><a href="index.php?action=remove&code=<?php echo $item["code"]; ?>" class="btnRemoveAction"><img src="icon-delete.png" alt="Remove Item" /></a></td>
    				</tr>
    				<?php
    				$total_quantity += $item["quantity"];
    				$total_price += ($item["price"]*$item["quantity"]);
    		}
    		?>
    
    <tr>
    <td colspan="2" align="right">Total:</td>
    <td align="right"><?php echo $total_quantity; ?></td>
    <td align="right" colspan="2"><strong><?php echo "$ ".number_format($total_price, 2); ?></strong></td>
    <td></td>
    </tr>
    </tbody>
    </table>		
      <?php
    } else {
    ?>
    <div class="no-records">Your Cart is Empty</div>
    <?php 
    }
    ?>
    </div>

    4. Xóa 1 sản phẩm khỏi giỏ hàng và xóa toàn bộ giỏ hàng

    case "remove":
    	if(!empty($_SESSION["cart_item"])) {
    		foreach($_SESSION["cart_item"] as $k => $v) {
    			if($_GET["code"] == $k)
    				unset($_SESSION["cart_item"][$k]);				
    			if(empty($_SESSION["cart_item"]))
    				unset($_SESSION["cart_item"]);
    		}
    	}
    	break;
    case "empty":
    	unset($_SESSION["cart_item"]);
            break;
    loading Đang tải...

    api được ưa chuộng