|
|
|
|
Bonjour à tous,
Je souhaite réaliser un panier électronique pour mon site, et malgrès tous les posts que j'ai pu lire, je ne sais toujours pas comment m'y prendre.J 'espère donc que vous pourrez éclairer ma lanterne :D
Points importants:
1)J'utilise les sessions.
2) Ma BDD surement mal construite pour facilité la création du panier: j'ai créé une table produit(numprod,nomprod...), client(numcli,nomcli...), contenir(numpanier,numprod,qté), panier(numpanier,prixtotal,moderegl,moderetrait,datecmde).
3)page "composant.php": c'est ici que j'affiche tous les produits présent dans ma BDD grace à ma requete et à la boucle while($donnees=mysql_fetch_assoc($req)) ... Pour chaque produit, il y a biensur l'option "ajouter un produit" qui ajoute le produit voulu avec sa quantitée désirée dans ma page panier.php.
Problèmes:
1) Comment faire pour ajouter le produit que le client a choisi, dans son panier.
2)Pour tous ceux qui auront la gentillesse de me venir en aide, si vous pouvez entrée dans le détails le plus possible en faisant comme si j'étais un débutant(ce que je suis peut etre d'ailleur :X), je vous en serai très reconnaissant.
Je vous remerci d'avance pour le temps que vous m'accroderez et vos réponses!
Configuration: Windows XP Internet Explorer 6.0
Ce tutoriels devrait t'aider:
|
Salut, le plus simple, pour faire un panier, c'est d'utiliser les sessions au maximum.
<form action="panier.php" method="post"> <input type="text" name="quantite" value="1"/> <input type="hidden" name="id_produit" value="15"/> <input type="submit" value="Ajouter au panier"/> </form> Dans la page panier.php, tu récupère les infos que tu stockes dans des session, en attendant la validation de la commande.
<?php
session_start(); // A ne pas oublier sur toutes les pages
$n = count($_SESSION['panier']); // On compte le nombre de sessions
if($n != 0) { // Si il n'y a aucun produit, on laisse le 0 sinon, on incrémente pour ne pas écraser le produit d'avant
$n++; //
}
$_SESSION['panier'][$n]['quantite'] = $_POST['quantite'];
$_SESSION['panier'][$n]['id_produit'] = $_POST['id_produit'];
?>
Après, pour récupérer les infos :
<?php
$n = count($_SESSION['panier']);
for ($i = 0; $i<$n; $i++) {
echo $_SESSION['panier'][$i]['quantite'].'<br/>';
echo $_SESSION['panier'][$i]['id_produit'].'<br/>';
}
?>
Une fois la commande validée, tu enregistre tout ça dans la bdd : <?php
$n = count($_SESSION['panier']);
for ($i = 0; $i<$n; $i++) {
$qte .= $_SESSION['panier'][$i]['quantite'].'-';
$id .= $_SESSION['panier'][$i]['id_produit'].'-';
}
?>
Tu entres $qte et $id dans la bdd, avec l'id du client. En faisant juste un split('-', $qte) pour $qte et $id, tu auras l'id du produit et la quantité qui va bien. J'espère que ça va te servir. En tout cas, le principe, c'est d'utiliser les sessions comme des array jusqu'a la validation de la commande, qui, une fois validée est entrée dans la bdd sur la même ligne. Si tu as besoin d'autre explications , hésite pas. Après si tu as bien compris le principe, tu devrais pas avoir de mal pour la modification des quantités et la suppression des produits. Il est souvent plus rapide de chercher que d'attendre une réponse... Google est notre ami. |
Je comprends deja mieux les étapes à réaliser,
|
Voici l'affichage de mes articles dans composant.php(j'ai utilisé le formulaire comme tu me l'as dis):
|
Salut, c'est normal, dans ton formulaire, il manque un <input type="submit"/> pour envoyer le formulaire, et un <input type="hidden"/> avec l'id du produit pour savoir quel produit est à enregistrer dans les sessions.
|
<input type="hidden"/> c'est une balise que tu met dans un formulaire. Elle permet de stocker des infos sans les afficher.
|