Bonjour.
 
Je suis en train d'essayer de creer mon panier virtuel en PHP a l'aide des sessions...
 
J'ai donc un systeme de frame.
Menu rayon1/rayon2/rayon3 ....  / Page dynamique / caddy
 
lorsque je clique sur rayon1 /2 /ou 3, il passe par GET le num de rayon.
La page dynamique est en faite une requete affichant tout les produit se trouvant dans le rayon 1/2/3.
Les resultats sont dans un tableau de cette sorte :  
 
Code :
 - while($tab_resultat = $session_sql -> traite_resultat($recup_select)) {
 - if(!isset($i))
 - $i=0;
 - $i++;
 -   echo '
 -      <form action="" name="" method="post"  >
 -    <tr bgcolor="'.$alt.'">
 -    <td  align=center > <input type="TEXT" SIZE=2 name="ref'.$rayon.$i.'" value="'.$tab_resultat["ref"].'"readonly></td>
 -    <td  align=center > <input type="TEXT" SIZE=8 name="nom'.$rayon.$i.'" value="'.$tab_resultat["nom"].'"readonly ></td>
 -    <td  align=center > <input type="TEXT" SIZE=15 name="desc'.$rayon.$i.'" value="'.$tab_resultat["desc"].'"readonly ></td>
 -    <td  align=center > <input type="TEXT" SIZE=3 name="prixttc'.$rayon.$i.'" value="'.$tab_resultat["prixttc"].'"readonly > </td>
 -    <td  align=center > <input type="TEXT" SIZE=2 name="stock'.$rayon.$i.'" value="'.$tab_resultat["stock"].'"readonly ></td>
 -    <td  align=center > <center><INPUT TYPE="button" VALUE="-" name="'.$rayon.$i.'" style="background-color:yellow" onClick="modifier(-1,'.$tab_resultat["stock"].',this.name)">
 -                                <INPUT TYPE="button" VALUE="+" name="'.$rayon.$i.'" style="background-color:yellow" onClick="modifier(+1,'.$tab_resultat["stock"].',this.name)">
 -                                <input type="TEXT" SIZE=2 id="qtecom'.$rayon.$i.'" name ="qtecom'.$rayon.$i.'" value="0" readonly > </center></td>
 -                                <input type= HIDDEN name="nb_result" value="'.$i.'">
 -    </tr>   ';
 -  if($alt=="#eeeeee" ) {$alt="#cccccc";}else{$alt="#eeeeee";}
 - }
 
  | 
 
 
une fois les quantité voulu, je fais cliker sur un bouton, qui affiche un recapitulatif et qui met ca dans une varialbe de session. qui est envoyé a la page caddy.  
 
Code :
 - <? if (isset ($_POST['rec']) && !empty($_POST['rec']) )
 -     {
 -       $i=$_POST['nb_result'];
 -       $z='1';
 -       while($z!=$i+1)
 -       {
 -           if($_POST['qtecom'.$rayon.$z]!='0')
 -           {
 -                if (!isset($caddy))
 -                $caddy=1;
 -                else $caddy++;
 -                echo("il y a $caddy produits selectionné" );
 -           echo "<br><center>vous avez commander: ".$_POST['qtecom'.$rayon.$z]." ".$_POST['nom'.$rayon.$z]."</center>";
 -           $_SESSION['ref'.$rayon.$z]=$_POST['ref'.$rayon.$z];
 -           $_SESSION['nom'.$rayon.$z]=$_POST['nom'.$rayon.$z] ;
 -           $_SESSION['qtecom'.$rayon.$z]=$_POST['qtecom'.$rayon.$z];
 -           }
 -           else {
 -           }
 -           $z++;
 -       }
 -      echo "<center><br><li><a href='caddy.php?caddy=".$caddy."&rayon=".$rayon."' target='caddy'>Confirmer votre commande pour ce rayon SVP en cliquant ici ! </a></center>" ;
 -       //$_SESSION['i']=0;
 -     }
 
  | 
 
 
 
DU COTÉ de caddy.php  
 
Code :
 - <b>Contenu du panier : <b>
 - <?php
 -       $i=$_SESSION['sumcaddy'];
 -       $z='1';
 -       $rayon=$_GET['rayon'];
 - echo '
 - <table width=90% align=center>
 -  <tR BGCOLOR="orange" >
 -  <center>
 -   <td> <center>Réf </center> </td>
 -   <td> <center>Nom</center></td>
 -   <td> <center>Qté</center></td>';
 -   $alt = "#eeeeee";
 - while($z!=$i+1)
 - {
 -   echo '
 -      <form action="" name="" method="post">
 -    <tr bgcolor="'.$alt.'">
 -    <td  align=center > <input type="TEXT" SIZE=1 name="ref'.$rayon.$i.'" value="'.$_SESSION['ref'.$rayon.$z].'"readonly></td>
 -    <td  align=center > <input type="TEXT" SIZE=6 name="nom'.$rayon.$i.'" value="'.$_SESSION['nom'.$rayon.$z].'"readonly ></td>
 -    <td  align=center > <input type="TEXT" SIZE=2 name="desc'.$rayon.$i.'" value="'.$_SESSION['qtecom'.$rayon.$z].'"readonly ></td>' ;
 -    $z++;
 - }
 - ?>
 
  | 
 
 
mais c'est pas au point.
au changement de rayon ca se remet a 0 et je sais pas comment y remedier...
 
un petit coup de main ?
 
merci !