Tutoriel Fonction PHP Mall : Implémentation de la fonction de synchronisation du panier et des commandes
Dans un site e-commerce complet, le panier est l'une des fonctions essentielles. Le panier offre aux utilisateurs un espace pratique pour acheter des marchandises et stocker temporairement des marchandises. La commande est une partie importante du processus d’achat et constitue la dernière étape permettant aux utilisateurs de confirmer l’achat des produits. Cet article explique comment utiliser PHP pour implémenter les fonctions de synchronisation du panier et des commandes.
Tout d'abord, nous devons créer une table de base de données de panier d'achat. Ce tableau doit contenir les champs suivants :
Vous pouvez utiliser l'instruction SQL suivante pour créer une table de panier d'achat :
CREATE TABLE `cart` ( `id` int(11) NOT NULL AUTO_INCREMENT, `user_id` int(11) NOT NULL, `product_id` int(11) NOT NULL, `quantity` int(11) NOT NULL, `created_at` datetime NOT NULL, `updated_at` datetime NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
Lorsque l'utilisateur clique sur le bouton "Ajouter au panier", nous devons ajouter les informations sur le produit correspondantes au tableau du panier. Nous pouvons utiliser l'exemple de code suivant pour y parvenir :
<?php // 获取用户ID和商品ID $user_id = $_SESSION['user_id']; $product_id = $_POST['product_id']; // 检查购物车中是否已存在该商品记录 $query = "SELECT * FROM cart WHERE user_id = $user_id AND product_id = $product_id"; $result = mysqli_query($connection, $query); if(mysqli_num_rows($result) == 0) { // 若购物车中不存在该商品记录,则添加一条新记录 $query = "INSERT INTO cart (user_id, product_id, quantity, created_at, updated_at) VALUES ($user_id, $product_id, 1, NOW(), NOW())"; } else { // 若购物车中已存在该商品记录,则更新数量 $query = "UPDATE cart SET quantity = quantity + 1, updated_at = NOW() WHERE user_id = $user_id AND product_id = $product_id"; } mysqli_query($connection, $query); ?>
Lorsque l'utilisateur entre dans la page de confirmation de commande, nous devons synchroniser les informations sur le produit dans le panier avec le tableau de commande. L'exemple de code suivant peut être utilisé :
<?php // 获取用户ID $user_id = $_SESSION['user_id']; // 获取购物车中的商品信息 $query = "SELECT * FROM cart WHERE user_id = $user_id"; $result = mysqli_query($connection, $query); while($row = mysqli_fetch_array($result)) { $product_id = $row['product_id']; $quantity = $row['quantity']; // 将购物车中的商品信息添加至订单表中 $query = "INSERT INTO orders (user_id, product_id, quantity, created_at) VALUES ($user_id, $product_id, $quantity, NOW())"; mysqli_query($connection, $query); } // 清空购物车 $query = "DELETE FROM cart WHERE user_id = $user_id"; mysqli_query($connection, $query); ?>
Grâce à l'exemple de code ci-dessus, nous pouvons permettre à l'utilisateur d'ajouter des produits au panier, puis de synchroniser les informations sur le produit dans le panier avec le tableau de commande.
Résumé :
La fonction de synchronisation du panier et des commandes est l'une des fonctions incontournables des sites de commerce électronique. Grâce aux exemples de code fournis dans cet article, nous pouvons utiliser PHP pour implémenter la fonction de synchronisation du panier et des commandes, offrant ainsi aux utilisateurs une meilleure expérience d'achat. Bien entendu, l'exemple ci-dessus n'est qu'une implémentation simplifiée. La situation réelle peut être plus complexe, et des exigences spécifiques et une logique métier peuvent nécessiter une conception de code et de table de base de données supplémentaire.
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!