實戰教學:PHP與MySQL實現購物車功能詳解
#購物車功能是網站開發中常見的功能之一,透過購物車使用者可以方便地將想要購買的商品加入購物車,然後進行結算和付款。在這篇文章中,我們將詳細介紹如何使用PHP和MySQL實作一個簡單的購物車功能,並提供具體的程式碼範例。
首先需要在MySQL資料庫中建立一個用來儲存商品資訊的資料表。以下是一個簡單的資料表結構範例:
CREATE TABLE products ( id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(100) NOT NULL, price DECIMAL(10, 2) NOT NULL, image VARCHAR(100) NOT NULL );
接下來,我們需要設計一個簡單的網頁介面來展示商品資訊和購物車功能。以下是一個基本的HTML介面範例:
<!DOCTYPE html> <html> <head> <title>購物車</title> </head> <body> <h1>商品列表</h1> <ul> <li>商品1 - 100元 <button onclick="addToCart(1)">加入購物車</button></li> <li>商品2 - 200元 <button onclick="addToCart(2)">加入購物車</button></li> <li>商品3 - 300元 <button onclick="addToCart(3)">加入購物車</button></li> </ul> <h1>購物車</h1> <ul id="cart"></ul> <script> function addToCart(productId) { // 商品加入購物車 } </script> </body> </html>
在PHP程式碼中,我們需要實作將商品加入購物車、從購物車移除商品以及計算購物車總金額等功能。以下是一個簡單的PHP程式碼範例:
<?php session_start(); // 商品加入購物車 if(isset($_POST['productId'])){ $_SESSION['cart'][] = $_POST['productId']; } // 從購物車移除商品 if(isset($_POST['removeIndex'])){ unset($_SESSION['cart'][$_POST['removeIndex']]); } // 計算購物車總金額 $total = 0; if(isset($_SESSION['cart'])){ foreach($_SESSION['cart'] as $productId){ $product = getProductById($productId); $total = $product['price']; } } // 根據商品ID從資料庫取得商品資訊 function getProductById($productId){ // 連線資料庫 $conn = mysqli_connect("localhost", "root", "", "my_database"); // 查詢商品資訊 $result = mysqli_query($conn, "SELECT * FROM products WHERE id=$productId"); $product = mysqli_fetch_assoc($result); // 關閉資料庫連接 mysqli_close($conn); return $product; } ?>
最後,我們需要更新網頁介面,在購物車部分顯示使用者已選擇的商品資訊和總金額。以下是更新後的HTML介面範例:
<h1>購物車</h1> <ul id="cart"> <?php if(isset($_SESSION['cart'])){ foreach($_SESSION['cart'] as $key => $productId){ $product = getProductById($productId); echo "<li>{$product['name']} - {$product['price']}元<button onclick='removeFromCart($key)'>移除</button></ li>"; } } ?> </ul> <p>總金額:<?php echo $total; ?>元</p>
透過以上步驟,我們成功實現了使用PHP和MySQL實現購物車功能的教學。用戶可以在網頁上瀏覽商品並加入購物車,然後查看購物車中的商品資訊和總金額。實際專案中可以根據需求對購物車功能進行擴展和優化,例如新增使用者登入、結算功能等。希望這篇教學對你有幫助,祝愉快的程式設計之旅!
以上是實戰教學:PHP與MySQL實作購物車功能詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!