PHP supprimer produit panier - PHP - Programmation
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..
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