[PHP] fair un caddy avec des array et sessions...

fair un caddy avec des array et sessions... [PHP] - PHP - Programmation

Marsh Posté le 23-05-2003 à 22:52:47    

Pour un TP en PHP où on doit faire un site web sur l'achat de livres en lignes, j'aimerais faire un truc qui ressemble à ça pour afficher la commande courrante:
http://eric.ftp.free.fr/div/cart.png
Les tutoriaux que j'ai lu à gauche à droite utilisent pour la plupart des requetes SQL.
Mais moi, je veux utiliser un tableau ds une variable de session puisque le caddy est temporaire.
En fait, j'ai une page search qui renvoie sur la page caddy avec les parametres du livre à ajouter (méthode GET).
Donc ma page caddy récupere les variables GET, puis dois ajouter les infos du bouquin en tant que nouvelle ligne ds la variable caddy qui est donc un tableau 2 dimensions.
Mes spécifications sont aussi de pouvoir changer le nombre de volume pour chq livre et aussi pouvoir supprimer un livre (et donc une ligne de mon tableau).
Seulement, je ne sais trop comment faire pour gérer ces 2 paramètres, i.e garder le textbox pour pouvoir modifier le nombre et effacer la ligne qd nbre=0.
 
Voici un extrait de mon code à mon stade :

Code :
  1. <form action="<?php $_SERVER["PHP_SELF"]?>" method="post">
  2.               <tr>
  3.                 <td class=form><b>ISBN</b></td>
  4.                 <td class=form><b>Title</b></td>
  5.                 <td class=form><b>Author</b></td>
  6.                 <td class=form><b>Single price</b></td>
  7.                 <td class=form><b>Number</b></td>
  8.                 <td class=form><b>Total price</b></td>
  9.               </tr>
  10.               <tr>
  11.                 <?php
  12.                 if(isset($_GET["ISBN"])) {
  13.                     $isbn = $_GET["ISBN"];
  14.                     $title = $_GET["title"];
  15.                     $author = $_GET["author"];
  16.                     $price = $_GET["price"];
  17.                     $nbr = "<input type=text maxLength=2 name=nb size='10'>";
  18.                     if (isset($_POST["nb"])) {
  19.                         $tp = $price * $_POST["nb"];
  20.                         $tbr = array("isbn" => $isbn, "title" => $title, "author" => $author,
  21.                         "price" => $price, "nb" => $_POST["nb"], "tp" => $tp);
  22.                         //if (isset($_SESSION["basket"])) {
  23.                             $tb[] = $tbr;
  24.                             $_SESSION["basket"] = $tb;
  25.                         if ($tp != 0)  {$_SESSION["basket"] = $tbr;}
  26.                         foreach($tb as $v1) {
  27.                             echo "<tr>";
  28.                             foreach($v1 as $v2) {
  29.                                 echo "<td>" . $v2 . "</td>";
  30.                                 }
  31.                             echo "</tr>";
  32.                         }
  33.                        
  34.                     }
  35.                     else {
  36.                     $tp=0;
  37.                     echo "<td>$isbn</td>
  38.                           <td>$title</td>
  39.                           <td>$author</td>
  40.                           <td>$price</td>
  41.                           <td>$nbr</td>
  42.                           <td>$tp</td>";
  43.                     }
  44.                 }
  45.                 ?>
  46.                   <td>&nbsp;</td>
  47.               </tr>
  48.               <tr>
  49.                 <td></td>
  50.                 <td align=right>&nbsp; <input type=submit value=Update class="button" name="upd"></td>
  51.               </tr>
  52.             </form>


 
Qques pistes pour m'aider ?

Reply

Marsh Posté le 23-05-2003 à 22:52:47   

Reply

Marsh Posté le 23-05-2003 à 22:59:47    

Il est censé faire quoi ce code :??:  
 
Sinon, ca devrait pas être trop difficile. A chaque ajout, tu lis le tableau dans la session, ajoute une entrée et le ré-enregistre.

Reply

Marsh Posté le 24-05-2003 à 15:10:35    

Je ne suis pas sur que ce soit une bonne idee de stocker ca ds une variable de session. Si tu utilises une BD pour ton appli autant stocker le contenu du caddy ds la BD. Par exemple, tu peux creer une commande "temporaire" et qd le client finalise sa commande tu changes le statut de la commande. Si tu veux plus d'infos je peux te filer du code ou des explications. Je me suis servi d'un tres bon bouquin pour mon appli et c'est cette methode qui est utilisee.  
 
Le bouquin en question : Web database application with PHP and MySQL (O'reilly).
 
Enfin moi je dis ca comme ca...


Message édité par impulse le 24-05-2003 à 15:11:29
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed