Maison  >  Article  >  développement back-end  >  Tutoriel sur la fonction PHP Mall : implémentation de la fonction de synchronisation du panier et des commandes

Tutoriel sur la fonction PHP Mall : implémentation de la fonction de synchronisation du panier et des commandes

WBOY
WBOYoriginal
2023-07-30 10:30:30944parcourir

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.

  1. Créer une table de base de données de panier d'achat

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 :

  • id : l'identifiant unique de l'enregistrement du panier
  • user_id : l'identifiant de l'utilisateur propriétaire du panier
  • product_id : l'identifiant du produit
  • quantity : la quantité du produit
  • created_at : l'enregistrement du panier d'achat Heure de création
  • updated_at : l'heure à laquelle l'enregistrement du panier d'achat a été mis à jour pour la dernière fois

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;
  1. Ajouter des articles au panier

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);
?>
  1. Synchroniser le panier et la commande

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn