Panier PHP simple

 


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 : 

  1. Récupérer les informations sur les produits de la base de données.
  2. Créer une galerie de produits pour le panier.
  3. Gérez les articles du panier à l'aide de la session PHP.
  4. 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.

php-panier-achat

 

Enregistrer un commentaire

Post a Comment (0)

Plus récente Plus ancienne