PHP supprimer produit panier

PHP supprimer produit panier - PHP - Programmation

Marsh Posté le 21-03-2012 à 16:37:36    

Bonjour, je suis en train de programmer un panier en PHP mais j'ai un problème. A côté de chaque produit, il y a un bouton 'supprimer' mais dès que je clique sur ce bouton, ça me supprime tous les produits et pas un seul.

 

Voici mon code affichage_panier.php:

 

<?php
session_start();

 

include ('header2.php');

 

include ('connexion_.php');

 


echo ' <table>  
          <tr>
       <td>Nom du Produit</td><td>Prix unitaire</td><td>Quantite</td><td>Prix Total</td>
       </tr>';

 

foreach ($_SESSION['caddie'] as $idProduit => $quantite) {

 

$rq="SELECT * FROM magazine WHERE ref_produit='".$idProduit."'";

 

$res=mysql_query($rq)or die("erreur dans la requete" );

 

$ligne=mysql_fetch_array($res);

 

$nom=$ligne['titre'];

 

$prix_unitaire=$ligne['prix'];

 

$prix_total=$prix_unitaire*$quantite;

 

$caddie += $prix_total;
$ref = $ligne["ref_produit"];

 


echo '   <tr>
     <td>'.$nom.'</td><td>'.$prix_unitaire.'</td><td>'.$quantite.'</td><td>'.$prix_total.'</td>
     <td><a href="retrait_caddie.php?retrait='.$ref.'"><img src="http://d2.e-loader.net/UqCtB5kKzI.gif" /></a></td>
         </tr>';
   
}

 

echo'   <tr>
     <td>total commande = '.$caddie.'  </td>
        </tr>
 </table>';
?>

 

ET MON CODE  retrait_caddie.php:

 

<?php
session_start();                          //demarrage de la session

 

$ref = $_GET['retrait'];                //reference du produit a retirer

 

$array = $_SESSION['caddie']; //attribue le tableau a $array

 

$key = array_search($ref, $array); //recherche la raference et attribue son rang dans le tableau a $key

 

array_splice($_SESSION['caddie'], $key, 1); //fonction PHP qui retire l'element situe au rang enregistre dans $key

 

?>


Message édité par david0607 le 21-03-2012 à 16:40:10
Reply

Marsh Posté le 21-03-2012 à 16:37:36   

Reply

Marsh Posté le 22-03-2012 à 10:00:34    

En lisant la doc, tu aurais vu que array_splice ne fait du tout ce que tu penses : http://www.php.net/manual/fr/function.array-splice.php
 
Si $key = 0 (genre, tu vires le premier produit du panier), ça va vider tout le panier... :/
 
Perso, j'aurais fait un unset($_SESSION['caddie'][$key]);
 
Edit : merci d'utiliser les balises code, quand tu postes plus d'1 ligne de code..


Message édité par rufo le 22-03-2012 à 10:01:05

---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Sujets relatifs:

Leave a Replay

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