par
Valawa » 13 nov. 2006, 18:25
Bonjour,
Je viens de créer un caddie pour un site, afin d'y stocker des informations de commande.
Quand j'ajouter des produits, voici le code :
if(!isset($_SESSION['panier']))
{
$_SESSION['panier'] = array();
$_SESSION['panier']['ref'] = array();
$_SESSION['panier']['id_produit'] = array();
$_SESSION['panier']['qte'] = array();
$_SESSION['panier']['taille'] = array();
$_SESSION['panier']['couleur'] = array();
$_SESSION['panier']['prix'] = array();
}
/* Ici, on sait que le panier existe, donc on ajoute l'article dedans. */
$count = count($_SESSION['panier']['id_produit']);
$select['ref']=$count+1;
array_push($_SESSION['panier']['ref'],$select['ref']);
array_push($_SESSION['panier']['id_produit'],$select['id_produit']);
array_push($_SESSION['panier']['qte'],$select['qte']);
array_push($_SESSION['panier']['taille'],$select['taille']);
array_push($_SESSION['panier']['couleur'],$select['couleur']);
array_push($_SESSION['panier']['prix'],$select['prix']);
Je peux afficher sans problème mon caddie :
<table>
<tr bgcolor="#400A00">
<td height="25"><strong>Produit</strong></td>
<td height="25"><strong>Taille</strong></td>
<td height="25"><strong>Couleur</strong></td>
<td height="25"><strong>Qté</strong></td>
<td height="25"><strong>P.U.</strong></td>
<td height="25"><strong>Total</strong></td>
<td align="center"><strong>Enlever</strong></td>
</tr>
<?
if (isset($_SESSION['panier']))
{
$total_final=0;
reset($_SESSION['panier']);
$count = count($_SESSION['panier']['id_produit']);
for($i=0;$i<$count;$i++)
{
$ref = $_SESSION['panier']['ref'][$i];
$id_produit = $_SESSION['panier']['id_produit'][$i];
$qte = $_SESSION['panier']['qte'][$i];
$taille = $_SESSION['panier']['taille'][$i];
$couleur = $_SESSION['panier']['couleur'][$i];
$prix = $_SESSION['panier']['prix'][$i];
$total_ligne = $qte*$prix;
if ($taille=="0")
{ $taille = "UNIQUE"; }
$req1=mysql_query("SELECT * FROM b_prod where id_produit=$id_produit");
while ($row1=mysql_fetch_array($req1))
{ $produit=$row1["produit"]; }
echo '<tr>';
echo '<td>'.$produit.'</td>';
echo '<td>'.$taille.'</td>';
echo '<td>'.$couleur.'</td>';
echo '<td>'.$qte.'</td>';
echo '<td>'.$prix.' €</td>';
echo '<td>'.$total_ligne.' €</td>';
echo '<td><a href="panier-supprimer.php?id='.$ref.'">Enlever</a></td>';
echo '</tr>';
$total_final=$total_final+$total_ligne;
}
echo '<tr>';
echo ' <td colspan="4" align="right"></td><td><b>TOTAL</b></td>';
echo '<td>'.$total_final.' €</td>';
echo '</tr>';
}
else
{
echo '<tr><td colspan="7" height="100" align="center"> - Votre panier est vide - </td></tr>';
}
?>
</table>
Mais maintenant, je suis embêté, car je ne sais pas comment supprimer un produit de mon caddie par exemple.
J'ai bien essayé de faire :
unset($_SESSION['panier']['ref'])
mais j'ai l'impression qu'il ne suprimer que la référence et pas les indications liées à la taille, couleur...
Bref, comment je fais pour supprimer "l'intégralité" de ma ligne dans mon tableau de session ?
Je sais, certains vont hurler, mais j'ai une contrainte de temps et je ne m'en sors pas.
Merci par avance !