Maison > Article > développement back-end > Comment implémenter une fonction simple de panier d'achat en utilisant PHP
Comment utiliser PHP pour implémenter une fonction de panier simple
La fonction de panier est un élément essentiel d'un site Web de commerce électronique. Elle permet aux utilisateurs d'ajouter des articles qui les intéressent au panier, puis de procéder au paiement. ou continuez. Parcourez et ajoutez des produits. Cet article explique comment utiliser PHP pour implémenter une fonction de panier simple et fournit des exemples de code spécifiques.
Tout d'abord, nous devons créer une base de données et une table pour stocker les données du panier.
CREATE DATABASE shopping_cart; USE shopping_cart; CREATE TABLE cart( id INT AUTO_INCREMENT PRIMARY KEY, product_name VARCHAR(50), price DECIMAL(10,2), quantity INT, total DECIMAL(10,2) );
Ensuite, nous devons créer une page de liste de produits où les utilisateurs peuvent sélectionner les produits à ajouter à leur panier. Voici un exemple de code simple :
<?php // 连接数据库 $connection = mysqli_connect("localhost", "username", "password", "shopping_cart"); // 查询所有商品 $query = "SELECT * FROM products"; $result = mysqli_query($connection, $query); // 遍历商品并显示在页面上 while($row = mysqli_fetch_assoc($result)) { echo "<h3>".$row['product_name']."</h3>"; echo "<p>价格:".$row['price']."</p>"; echo "<button onclick='addToCart(".$row['id'].")'>添加到购物车</button>"; } // 关闭数据库连接 mysqli_close($connection); ?> <script> function addToCart(productId) { // 向后端发送请求,将商品添加到购物车 var xhr = new XMLHttpRequest(); xhr.open("POST", "add_to_cart.php", true); xhr.setRequestHeader('Content-type', 'application/x-www-form-urlencoded'); xhr.onreadystatechange = function() { if (xhr.readyState === 4 && xhr.status === 200) { alert("商品已添加到购物车!"); } }; xhr.send("productId=" + productId); } </script>
Dans l'étape précédente, nous avons appelé un script backend nommé add_to_cart.php
pour ajouter l'article sélectionné au panier. Voici l'exemple de code pour le script :
<?php // 获取待添加到购物车的商品ID $productId = $_POST['productId']; // 根据商品ID查询商品信息 $connection = mysqli_connect("localhost", "username", "password", "shopping_cart"); $query = "SELECT * FROM products WHERE id = '".$productId."'"; $result = mysqli_query($connection, $query); $product = mysqli_fetch_assoc($result); // 添加商品到购物车表格中 $insertQuery = "INSERT INTO cart (product_name, price, quantity, total) VALUES ('".$product['product_name']."', '".$product['price']."', 1, '".$product['price']."')"; mysqli_query($connection, $insertQuery); // 关闭数据库连接 mysqli_close($connection); ?>
Enfin, nous devons créer une page de panier qui affiche les articles que l'utilisateur a ajoutés au panier et calcule le montant total. Voici un exemple de page de panier simple :
<?php $connection = mysqli_connect("localhost", "username", "password", "shopping_cart"); $query = "SELECT * FROM cart"; $result = mysqli_query($connection, $query); $totalPrice = 0; while($row = mysqli_fetch_assoc($result)) { echo "<h3>".$row['product_name']."</h3>"; echo "<p>价格:".$row['price']."</p>"; echo "<p>数量:".$row['quantity']."</p>"; echo "<hr>"; // 计算总金额 $totalPrice += $row['total']; } echo "<h4>总金额:".$totalPrice."</h4>"; mysqli_close($connection); ?>
À ce stade, nous avons implémenté avec succès une fonction de panier simple. Les utilisateurs peuvent sélectionner des produits sur la page de liste de produits et les ajouter au panier, puis afficher les produits ajoutés et calculer le montant total sur la page du panier.
Il convient de noter que cet article ne fournit qu'un exemple de mise en œuvre de base. Dans les applications réelles, des fonctions plus complexes telles que l'augmentation ou la diminution du nombre de produits, la suppression de produits et la connexion de l'utilisateur peuvent devoir être traitées. De plus, une validation et une optimisation appropriées des données sont nécessaires pour garantir la sécurité et les performances.
J'espère que cet article pourra être utile aux débutants et vous fournir quelques idées et références dans des applications pratiques.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!