Construire un logiciel de commerce électronique de panier d'achat PHP est simple et facile. Dans ce tutoriel, créons un simple logiciel de panier d'achat PHP avec MySQL.
L'intention de ce logiciel de panier d'achat est qu'il soit simple et aussi minimal que possible. Vous pouvez le télécharger gratuitement et le personnaliser selon vos besoins en quelques minutes.
Présentation du développement de logiciels de panier d'achat PHP
L'exemple de panier d'achat PHP a les fonctionnalités suivantes :
- Récupérer les informations sur les produits de la base de données.
- Créer une galerie de produits pour le panier.
- Gérez les articles du panier à l'aide de la session PHP.
- Gérez les actions d'ajout, de modification, de suppression et de vide du panier.
J'ai récupéré des informations telles que le nom, le code, le prix et les photos de la base de données. Les informations résultantes sont dans un format de tableau.
J'ai itéré ce tableau résultant pour former la galerie de produits. Chaque produit de la galerie aura une option d'ajout au panier.
J'ai utilisé la session de panier d'achat PHP pour stocker et gérer les articles du panier.
Une fois la session expirée, les articles du panier sont effacés. Ce code a une option pour effacer tout le panier ou pour supprimer un article particulier du panier.
Structure du fichier
L'exemple de logiciel de panier d'achat a la structure de fichier suivante. La liste ci-dessous contient les noms de fichiers et leur responsabilité.
Vous pouvez créer un logiciel de panier d'achat basé sur une galerie avec ces fichiers en quelques minutes.
- dbcontroller.php - une couche de base de données générique pour aider avec les fonctions DAO. Il gère également la connexion à la base de données.
- index.php – pour afficher la galerie de produits pour le panier.
- style.css – pour présenter les produits pour le panier . Les styles sont minimaux et compatibles avec tous les navigateurs.
- tblproduct.sql - contient le script SQL avec la structure de la table du produit et les données.
- product-images – un dossier qui contient les images du produit. J'ai utilisé ces images pour montrer la galerie de produits.
Créer une galerie de produits pour le panier
Si vous êtes familier avec les achats en ligne, vous avez peut-être des galeries de produits. C'est une passerelle importante dans une application de panier d'achat.
Les utilisateurs utiliseront la galerie de produits pour avoir une idée des produits disponibles à l'achat. C'est un élément essentiel de chaque boutique en ligne.
Vous devez toujours fournir un catalogue des produits disponibles pour leur permettre d'avoir un aperçu. Il aide à promouvoir vos produits pour les acheteurs impulsifs.
Dans le code suivant, j'ai montré le script PHP pour obtenir les résultats du produit à partir de la base de données. Le résultat sera un tableau et itéré pour créer une fiche produit à chaque itération.
La classe DBController.php gérera l'opération DAO et récupérera le résultat des produits.
<?php $product_array = $db_handle->runQuery("SELECT * FROM tblproduct ORDER BY id ASC"); si (!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= "Ajouter au panier" class="btnAddAction" /></div> </div> </form> </div> <?php } } ?>
Ajouter des produits au panier
Après avoir créé la page de la galerie de produits, nous devons travailler sur le code PHP pour effectuer les actions du panier. Ils sont ajoutés au panier, suppriment un seul article du panier, effacent le panier complet et similaires.
Dans le code ci-dessus, j'ai ajouté l'option HTML pour ajouter le produit au panier à partir de la galerie de produits. Lorsque l'utilisateur clique sur le bouton "Ajouter au panier", le formulaire HTML transmet l'identifiant du produit au script PHP principal.
En PHP, je reçois et traite l'action du panier avec une instruction de contrôle switch. J'ai créé des cas de commutation PHP pour gérer les actions d'ajout au panier, de suppression d'un seul et de panier vide.
L'action est l'argument de l'instruction switch. Ensuite, il exécute le cas d'action correspondant comme demandé.
Le cas "ajouter" gère l'action d'ajout au panier. Dans ce cas, j'ai reçu l'identifiant du produit et la quantité.
La session de panier stocke le produit soumis. J'ai mis à jour la quantité du produit s'il existe déjà dans le panier de la session. L'index de session PHP est la référence pour effectuer cette action.
cas "ajouter": if(!empty($_POST["quantité"])) { $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]["quantité"] = 0 ; } $_SESSION["cart_item"][$k]["quantité"] += $_POST["quantité"] ; } } } autre { $_SESSION["cart_item"] = array_merge($_SESSION["cart_item"],$itemArray); } } autre { $_SESSION["cart_item"] = $itemArray ; } } Pause;
Lister les éléments du panier de la session PHP
Ce code montre le code HTML pour afficher le panier avec les commandes d'action. La boucle itère la session de panier pour répertorier les éléments du panier dans un format tabulaire.
Chaque ligne affiche l'image du produit, le titre, le prix, la quantité d'articles avec une option de suppression. En outre, il affiche la quantité totale d'articles et le prix total de l'article en additionnant les articles individuels du panier.
<div id="panier"> <div class="txt-heading">Panier</div> <a id="btnEmpty" href="index.php?action=empty">Vider le panier</a> <?php if(isset($_SESSION["cart_item"])){ $quantité_totale = 0 ; $prix_total = 0 ; ?> <table class="tbl-cart" cellpadding="10" cellpacing="1"> <corps> <tr> <th style="text-align:left;">Nom</th> <th style="text-align:left;">Code</th> <th style="text-align:right ;" width="5%">Quantité</th> <th style="text-align:right ;" width="10%">Prix unitaire</th> <th style="text-align:right ;" width="10%">Prix</th> <th style="text-align:center;" width="5%">Supprimer</th> </tr> <?php foreach ($_SESSION["cart_item"] as $item){ $article_prix = $article["quantité"]*$article["prix"] ; ?> <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 "$ ". nombre_format($prix_article,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="Supprimer l'élément" /></a></td> </tr> <?php $total_quantity += $item["quantity"] ; $prix_total += ($article["prix"]*$article["quantité"]); } ?> <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 } autre { ?> <div class="no-records">Votre panier est vide</div> <?php } ?> </div>
Supprimer ou effacer un article du panier
La boucle itère le tableau de session du panier pour afficher les éléments du panier. Chaque article du panier aura un lien de suppression.
Si l'utilisateur du panier clique sur le lien de suppression, je supprime l'article du panier correspondant de la session.
J'ai fourni un bouton de contrôle "Vider le panier" au-dessus du panier. Les utilisateurs peuvent l'utiliser pour effacer complètement la session de panier et vider le panier.
J'ai présenté ci-dessous le code PHP pour "supprimer" et les cases "vides". Ils gèrent le panier pour supprimer/effacer les actions.
J'ai utilisé PHP unset() pour effacer la session du panier afin de supprimer l'article ajouté du panier.
cas "supprimer": if(!empty($_SESSION["cart_item"])) { foreach($_SESSION["cart_item"] as $k => $v) { si($_GET["code"] == $k) unset($_SESSION["cart_item"][$k]); if(empty($_SESSION["cart_item"])) unset($_SESSION["cart_item"]); } } Pause; cas "vide": unset($_SESSION["cart_item"]); Pause;
Table des produits de la base de données pour le panier
Vous devez importer le script SQL suivant. Il créera la table des produits et y chargera des données. Dans l'exemple, j'ai utilisé ces données produit pour afficher les produits dans la galerie.
-- -- Structure de table pour la table `tblproduct` -- CREATE TABLE `tblproduct` ( `id` int(8) PAS NULL, `nom` varchar(255) NON NULL, `code` varchar(255) NON NULL, `image` texte NON NULL, `prix` double(10,2) NON NULL ) MOTEUR=jeu de caractères par défaut InnoDB=latin1 ; -- -- Vidage des données pour la table `tblproduct` -- INSERT INTO `tblproduct` (`id`, `name`, `code`, `image`, `price`) (1, 'Caméra 3D FinePix Pro2', '3DcAM01', 'product-images/camera.jpg', 1500.00), (2, 'EXP Portable Hard Drive', 'USB02', 'product-images/external-hard-drive.jpg', 800.00), (3, 'montre-bracelet ultra-mince de luxe', 'wristWear03', 'product-images/watch.jpg', 300.00), (4, 'XP 1155 Intel Core Laptop', 'LPN45', 'product-images/laptop.jpg', 800.00); -- -- Index pour la table `tblproduct` -- ALTER TABLE `tblproduct` AJOUTER LA CLÉ PRIMAIRE (`id`), AJOUTER UNE CLÉ UNIQUE `product_code` (`code`); -- -- AUTO_INCREMENT pour les tables dumpées -- -- -- AUTO_INCREMENT pour la table `tblproduct` -- ALTER TABLE `tblproduct` MODIFIER `id` int(8) NON NULL AUTO_INCREMENT, AUTO_INCREMENT=5 ; S'ENGAGER;
Sortie de panier d'achat PHP simple
La capture d'écran ci-dessous montre la galerie de produits de cet exemple simple de panier d'achat PHP. Les éléments du panier répertoriés au-dessus de la galerie proviennent de la session PHP.