Création
d'entreprise
Posez votre question Signaler

[PHP] Faire un panier

Dédé86 632Messages postés 23 décembre 2005Date d'inscription 6 juillet 2011Dernière intervention - Dernière réponse le 18 mai 2007 à 13:16
Bonjour,
Je voudrais faire un panier en php mais je me heurte à quelques difficultés.
Sur 1 page, j'affiche les articles de ma base de données avec une boucle : while ($ligne = mysql_fetch_array($exereq))
le problème c'est que j'ai mis des boutons ajouter au panier pour chaque article dans le code et quand j'appuie sur ce bouton, l'utilisateur est redirigé vers son panier avec l'article qu'il a commandé (j'utilise une variable $_POST). Seulement, c'est toujours le dernier article qui est affiché.
Je suppose que c'est à cause de la boucle While mais je ne sais pas comment faire pour m'en sortir
Pouvez-vous m'aider ?
Merci d'avance
Lire la suite 

[PHP] Faire un panier »

2 réponses
Réponse
+1
moins plus
Voici le code de ma page qui affiche les articles. Je précise que le 1er code affiche les articles et que pour chaque article l'utilisateur peut cliquer sur le bouton ajouter les articles au panier et cela va rediriger l'utilisateur vers son panier avec l'article sélectionné (et les autres si il en a séléctionné avant). Pour faire passer les informations d'une page à l'autre, j'ai utilisé les champs cachés (dans ce code, je n'ai utilisé que le titre seulement).Le problème est que quand il clique sur le bouton ajouter les articles, même si il ne séléctionne que le 1er article, c'est toujours le dernier article qui est affiché. Cela vient de la boucle While mais je ne sais pas comment faire autrement. Help please.
<html>
 <head>
  <title>Catalogue</title>
  <link rel="stylesheet" href="css/f1.css">
 </head>
 <body>
<?php
require('connedb.php');
 
$req ="Select * From media, genre WHERE media.nogenre='genre.nogenre'";
$exereq = mysql_query($req);  
 
 while ($ligne = mysql_fetch_array($exereq))  
  {
        echo"<form method='post' action='reqpanier.php'>
<table width='90%' align='center'height='90%' border='0'  cellpadding='5'>
 <tr><td width='20%' height='95%'>
 <table align='center' border='0' width='95%' height='80%'>
 <tr><td><img src='{$ligne['PhotoMed']}' width='200' height='280'></td></tr>
<tr><td align='center'><b>{$ligne['PrixMed']} €</b>
  </table>
 </td>
 
 <td valign='top' width='80%' >
   <table  align='center' border='0' width='95%' cellspacing='10'>
    <tr>
<td colspan='2' align='center'>{$ligne['TitreMed']}  
    </tr>
    <tr>
     
     <td><b>Genre :</b>{$ligne['Nomgenre']}</b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<b>Date de sortie : </b>{$ligne['DatsorMed']}
    <tr><tr>  
    <td>{$ligne['DescriMed']}
    <tr><tr><tr>
    <td align='justify'><hr>{$ligne['ResumMed']}
     
    <input type='hidden' name='tranvar' value='{$ligne['TitreMed']}'>
     
    <br><input type='submit' name='trasmiva' value='Ajouter les articles au panier'>
     
   </table>
 </td>    
</table>";  
 
 }
?>
 <body>
</html>


Et là c'est la code qui est utilisé quand l'utilisateur clique sur ajouter au panier :
(je n'ai essayé qu'avec une variable pour l'instant)
<?php
 $res=$_POST['tranvar'];
 
 echo"$res";  
?>
 

Le problème c'est que cela affiche toujours le dernier article
Ajouter un commentaire
Réponse
+0
moins plus
quand tu vas taper la table sql, t affiche t il bien tous les articles que le pseudo client a choisi??
Ajouter un commentaire
Ce document intitulé « [PHP] Faire un panier » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?