Panier, boucle, sessions ...????

Petit nouveau ! | 6 Messages

14 juin 2005, 23:22

Bonjour !!

J'ai passé du temps à lire les divers sujets mais je ne comprend pas l'essencielle : c'est pour cela que je préfére vous poser les questions qui évoluront certainement au fur et à mesure, ça peu servir à d'autres...

Voilà je voudrais créer un site marchand, je ne sais pas comment l'appliquer :

Voici le début de mes questions et de mon apprentissage :
J'essaye de partir sur une base simple :
sur une page produit.php j'aurai un tableau avec des colonnes du style : photo, reference, description, prix,qté et deux boutons : mettre dans le panier et visualiser le panier que serait la page panier.php dans laquelle j'aurai le même tableau avec 2 ou 3 colonnes en plus pour gérer la modification de la qté et la suppression du produit au panier.

Les produits sont dans une base de données

Je ne sais pas comment gérer les sessions dans le contexte du panier et les boucles !!

Pouvez vous m'aider

Merci d'avance

Mammouth du PHP | 19672 Messages

15 juin 2005, 08:20

Les variables de sessions peuvent être des tableaux multi-dimensionnels, tu peux stocker les articles dans des tableaux indexés dont le nombre d'index s'incrémente à chaque ajout d'un article. En utilisant un tableau à plusieurs dimensions, tu peux t'y retrouver plus facilement, exemple:
$_SESSION['panier'] est un tableau associatif contenant trois index:
- ref_produit
- quantite
- prix_unitaire
Pour ajouter un produit, tu vas ajouter successivement la référence du produit, la quantité commandée et le prix unitaire du produit et tu auras donc un tableau qui ressemblera à:
$_SESSION['panier']['ref_produit'][0] = "xyz123";
$_SESSION['panier']['quantite'][0] = 1;
$_SESSION['panier']['prix_unitaire'][0] = 12.95;
L'utilisation des boucles va te permettre de parcourir ce tableau. Pour compter combien d'articles sont dans le panier, tu fais un count() sur l'index "ref_produit" par exemple, et non sur "panier" qui dans le cas présent sera toujours à 3. Quand tu as le nombre d'article, il devient facile de parcourir le tableau dans une boucle for():
<table>
<?php
$nb_art = count($_SESSION['panier']['ref_produit']);
for($i = 0; $i < $nb_art; $i++)
{
?>
  <tr>
    <td><?php echo($_SESSION['panier']['ref_produit'][$i]); ?></td>
    <td><?php echo($_SESSION['panier']['quantite'][$i]); ?></td>
    <td><?php echo($_SESSION['panier']['prix_unitaire'][$i]); ?></td>
    <td>Total : <?php echo($_SESSION['panier']['prix_unitaire'][$i] * $_SESSION['panier']['quantite'][$i]); ?></td>
  </tr>
<?php
}
?>
</table>
Voilà, ce n,est qu'un exemple basique, ta variable de session Panier peut être beaucoup plus complexe, mais le principe de base est là.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Petit nouveau ! | 6 Messages

19 juin 2005, 22:04

Bonjour, Merci Cyrano pour tes explications !!

:shock: Par contre je ne comprends vraiment pas tout !!

Il faut que j'y travaille un peu pour poser de nouvelles questions.

A bientot

Mammouth du PHP | 19672 Messages

19 juin 2005, 23:09

Si tu veux plus d'informations sur un point de détail, n'hésite pas :)
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe: