Le site -> Les articles -> lecture d'un article
La création d'une boutique en ligne n'est pas toujours chose aisée. Grâce à ce petit cours, vous pourrez à la fin disposer d'une boutique complète, avec la possibilité de lister des articles rangés en catégories, avoir un panier d'achat où on ajoute / supprime des articles, recalcule le total. Libre à vous d'ajouter vos moyens de paiements à ce caddie pour disposer d'un système complet.
Ce panier d'achat est réalisé en PHP orienté objet (PHP4). Pas de panique, les explications sont suffisamment détaillées pour tout comprendre. Néanmoins, la programmation orientée objet s'applique très bien à un panier d'achat.
Comme déjà introduit plus haut, notre panier aura les objectifs suivant: ajouter un article au panier, supprimer un article du panier, modifier un article (par exemple : quantité), connaître le nombre d'article du panier, voir le panier, vider le panier.
Plus quelques autres caractéristiques qui s'appliqueront suivant votre cas précis.
On va commencer par la structure du panier, qui sera un tableau indexé :
<?php
panier => Array ( [0] => 'article' [1] => 'article' )
?>
Puis vient la structure d'un article :
<?php
Array ( [reference] => 123456 [nom] => Pommes [prix] => 10 [quantite] => 1 )
?>
<?php
class monpanier{
var $panier;
function monpanier(){
$panier = array();
}
//ajout d'un article
function ajout($array){
$this->panier[] = $array;
}
//suppression d'un article
function supprimer($id_article){
unset($this->panier[$id_article]);
}
//modification d'un article
function modifier($id_article,$code,$value){
$this->panier[$id_article][$code] = $value;
}
//vider le panier
function vider(){
$this->panier = array();
}
//Compte ce que contient le panier
function compteur(){
return count($this->panier);
}
// Récupère les informations sur les articles
function voirpanier(){
return $this->panier;
}
}
?>
Une fois que ce fichier est fait, vous pourrez créer beaucoup de fonctions, comme le changement d'un article, la modification d'une clé, ... Ici nous ne gardons que l'essentiel.
Il suffit maintenant de faire une page qui va nous montrer comment afficher le panier et se servir des fonctions.
<?php
session_start();
// Si nous n'avons pas créé de session, on doit créer le panier
if(!isset($_SESSION['panier'])){
$monpanier = new panier();
$_SESSION['panier'] = $monpanier;
}
else{ // Si la session existe alors on la récupère
$monpanier = $_SESSION['panier'];
}
// Si des informations ont été envoyées, on les récupère
// Suivant votre cas, il faudra tout de même ajouter des sécurités pour voir si ce qui est envoyé est bon
if(isset($_POST['id'],$_POST['nom'],$_POST['prix'],$_POST['quantite'])){
$monpanier->ajout(
array(
'reference'=>$_POST['id'],
'nom'=>$_POST['nom'],
'prix'=>$_POST['prix'],
'quantite'=>$_POST['quantite']
)
);
}
// Il ne reste plus qu'à mettre le panier en session
$_SESSION['panier'] = $monpanier;
// A partir de là on peut faire tout ce qu'on veut afficher le panier, ajouter des articles, ...
// On récupère notre panier
$donnees = $monpanier->voirpanier();
?>
<form action="" method="POST">
ID de l'article <input type="text" value="id" name="id">
<br />
Nom <input type="text" value="nom" name="nom">
<br />
Prix <input type="text" value="10" name="prix"> (vous devrez le récupérer dans votre table d'articles)<br />
Quantité <input type="text" value="1" name="quantite">
<br />
<input type="submit" value="Acheter">
<br />
</form>
<?php
// On va afficher notre panier
$nombre_article = $monpanier->compteur(); $compteur = 1; $somme = 0;
// On peut afficher le nombre d'aticle du panier
echo 'Vous allez acheter '.$monpanier->compteur().' article(s)
<br />
<table>
<tr>
<td>article</td>
<td>id</td>
<td>nom</td>
<td>prix</td>
<td>quantité</td>
</tr>';
if($nombre_article > 0){
foreach($donnees as $article){
echo "<tr> <td>$compteur </td><td> #$article[reference] </td><td> $article[nom] </td><td> $article[prix] euros </td><td> $article[quantite] </td></tr>";
$somme += $article['prix']*$article['quantite'];
$compteur++;
}
}
echo 'Total : $somme euros';
echo '</table>';
?>
Vous pouvez également afficher le panier de manière "brut" :
<?php echo '<pre>'.print_r($monpanier).'</pre>'; ?>
Pour compléter votre panier voici quelques fonctions que vous pouvez utiliser :
<?php
// On peut supprimer l'article ayant l'ID 1
$monpanier->supprimer(1);
echo '<pre>'.print_r($monpanier).'</pre>';
// On peut modifier un article, la quantité sera le plus courant.
// Dans l'ordre on donne l'id de l'article dans le panier, le nom de la clé ainsi que la nouvelle valeur.
$monpanier->modifier(1,'quantite',5);
// Pour finir, et afin que le panier puisse être gardé en mémoire
// quand on va changer de page, pensez à le mettre en session.
$_SESSION['panier'] = $monpanier;
?>
Ce n'est qu'une page pour montrer ce qu'il est possible de faire. A vous de peaufiner tout ça. Cette article sera amené à évoluer et à être complété.
Articlé rédigé par Julien, activé le vendredi 13 juin 2008 à 13H07
Copyright Notionweb © 2008
| 10 connectés
Politique d'accessibilité
- Contactez-nous
- Plus d'infos
- Tous les membres