le 12/09/2007 à 17:14
caporga
Bonjour la communauté
je suis à la recherche d'explication concernant le code d'un panier "e-commerce". (voir code ci dessous) mais malheureusement tout ne marche pas complétement qu'est ce qui cloche...
je suis à la recherche d'explication concernant le code d'un panier "e-commerce". (voir code ci dessous) mais malheureusement tout ne marche pas complétement qu'est ce qui cloche...
<?php
session_start();
//init des variables
if (!isset($_SESSION['total'])) $_SESSION['total']=0;
if(!isset($_GET['ajoutPanier'])) $ajoutPanier="";//init de ajoutPanier si non déclaré
else $ajoutPanier=$_GET['ajoutPanier'];
if(!isset($_GET['modifPanier'])) $modifPanier="";//init de modifPanier si non déclaré
else $modifPanier=$_GET['modifPanier'];
if(!isset($_GET['suppPanier'])) $suppPanier="";//init de suppPanier si non déclaré
else $suppPanier=$_GET['suppPanier'];
if(!isset($_GET['enregistreCommande'])) $enregistreCommande="";//init de enregistreCommande si non déclaré
else $enregistreCommande=$_GET['enregistreCommande'];
if ((!isset($_SESSION['liste']))&&($ajoutPanier=="")) $liste[]=array("VIDE",1,0,0);//init de liste si VIDE
if (isset($_SESSION['liste'])) $liste=$_SESSION['liste'];//recup de la liste de la session
?>
<?php require_once('../Connections/ConnexionBoutiquemx.php'); ?>
<?php
mysql_select_db($database_ConnexionBoutiquemx, $ConnexionBoutiquemx);
//----------------------------------------------------AJOUT PANIER
if ($ajoutPanier=="AJOUTER")
{
$reference=$_GET['reference'];
$nb=1; //par défaut la quantité est = 1
$prix=$_GET['prix'];
$liste[]=array($reference,$nb,$prix,$prix);
$_SESSION['liste']=$liste;
//ajoute un article à la liste
}
//----------------------------------------------------MODIF PANIER
if ($modifPanier=="ACTUALISER")
{
for ($i=0;$i<count($liste);$i++)
{
$nbi='nb'.$i;
$liste[$i][1]=$_GET["$nbi"];//recup du nbr d'article dans la liste
$liste[$i][3]=$liste[$i][1]*$liste[$i][2];//prixArticle=nbre*prixUnitaire
}
$_SESSION['liste']=$liste;//mAj de la liste
}
//----------------------------------------------------SUPP PANIER
if ($suppPanier=="SUPPRIMER")
{
$article=$_GET['article'];
for ($i=0;$i<count($liste);$i++)
{
if($article==$liste[$i][0])
array_splice($liste,$i,1);
//suppression de l'article
}
$_SESSION['liste']=$liste;//mAj de la liste
}
//----------------------------------------------------COMMANDER
if ($enregistreCommande=="COMMANDER")
{
if(!isset($_GET['action']))
$_SESSION['action']="ENREGISTRER";//mémorise l'action
header("Location: commande.php");
}
?>
<html>
<head>
<title>Boutique MX by phpmx.com</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<div align="center">
<p><img src="../images/bandeauPublic.gif" width="650" height="100" border="0" usemap="#Map">
</p>
<map name="Map">
<area shape="rect" coords="22,65,166,93" href="../public/catalogue.php">
<area shape="rect" coords="190,67,293,94" href="../public/panier.php">
<area shape="rect" coords="325,68,478,94" href="../public/commande.php">
<area shape="rect" coords="524,66,621,96" href="../administrateur/index.php">
</map>
</div>
<table width="100%" border="0" cellspacing="0">
<tr>
<td><p align="center"><strong><font color="#FF0000" size="6" face="Arial, Helvetica, sans-serif">PANIER</font></strong></p>
<?php if($liste[0][0]!="VIDE") { ?> <form action="../public/panier.php" method="get" >
<table width="650" border="1" align="center" cellspacing="0" bordercolor="#FF0000">
<tr>
<td><table width="650" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td colspan="2"> <div align="center"><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Titre</font></strong></font></div></td>
<td width="75"> <div align="center"><strong><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Quantité</font></strong></font></div></td>
<td width="120"> <div align="center"><strong><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Prix</font></strong></font></div></td>
<td width="44"> <div align="center"><strong><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Supp</font></strong></font></div></td>
</tr>
<?php
$total=0.00;
for ($i=0;$i<count($liste);$i++)
{
$query_rsPanier="select * from articles where reference = '".$liste[$i][0]."'";
//echo $query_rsPanier;
$rsPanier = mysql_query($query_rsPanier, $ConnexionBoutiquemx) or die(mysql_error());
$row_rsPanier = mysql_fetch_assoc($rsPanier);
?>
<tr>
<td width="47" rowspan="2"> </td>
<td width="364" align="left" valign="top"><span class="soustitrebold"><?php echo $row_rsPanier['nom_produit'] ?></span></td>
<td rowspan="2" align="center" valign="top"><div align="center">
<select name="nb<?php echo $i ?>" id="nb">
<option value="1" selected <?php if($liste[$i][1]==1) echo "SELECTED"; ?>>1</option>
<option value="2" <?php if($liste[$i][1]==2) echo "SELECTED"; ?>>2</option>
<option value="3" <?php if($liste[$i][1]==3) echo "SELECTED"; ?>>3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
<option value="9">9</option>
<option value="10">10</option>
</select>
</div></td>
<td rowspan="2" align="center" valign="top"><div align="center"><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><?php echo $row_rsPanier['prix'] ?></font></div></td>
<td rowspan="2"><div align="center"><a href="panier.php?suppPanier=SUPPRIMER&article=<?php echo $row_rsPanier['reference'] ?>"><img src="../images/Next.gif" width="14" height="13" border="0"></a></div></td>
</tr>
<tr>
<td width="364" align="left"><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><?php echo $row_rsPanier['texte'] ?></font></td>
</tr>
<?php
$total+=$row_rsPanier['prix'] * $liste[$i][1];
}
$_SESSION['total']=$total;//mAj du total dans la session
?>
<tr>
<td colspan="2" ><div align="center"></div></td>
<td ><div align="center"></div></td>
<td ><div align="center"><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><strong>Total
: <?php echo $total ?> Euros</strong></font></div></td>
<td ><div align="center"></div></td>
</tr>
</table></td>
</tr>
</table>
<br>
<p align="center">
<input type="submit" name="modifPanier" value="ACTUALISER">
<input name="enregistreCommande" type="Submit" value="COMMANDER">
</p>
</form>
<?php } else { ?>
<p align="center"><strong><font size="4" face="Verdana, Arial, Helvetica, sans-serif">Votre panier est vide</font></strong></p>
<?php }?> </td>
</tr>
</table>
<p align="center"><img src="../images/BarreBasPublic.gif"></p>
</div>
</body>
</html>