par
sadeq » 14 juin 2005, 16:14
Ô tu fais une recherche de l'article s'il existe tu ne l'ajoute pas :
Voici le programme entier :
session_start();
if (isset($_SESSION["caddie"]))
{
$caddie = $_SESSION["caddie"];
}
else
{
$caddie = null;
}
//Identité d'un article
$nom = isset($_GET['nom'])?$_GET['nom']:null;
$pu = isset($_GET['pu'])?$_GET['pu']:0;
//Maj automatique des qté's
if (isset($_GET['qt']) && $caddie != null)
{
$qt = $_GET['qt'];
if ($qt != null)
foreach($qt as $key=>$valeur) {
if ($valeur>0){
$caddie[$key][2] = $valeur ;
$caddie[$key][3] = $caddie[$key][1] * $valeur;
}
$_SESSION["caddie"] = $caddie;
}
}
//Suppression d'un article
if (isset($_GET["supprimer"]) && $caddie != null)
{
unset($caddie[$_GET["supprimer"]]);
$caddie = array_values($caddie) ;
$_SESSION["caddie"] = $caddie;
}
//Ajout d'article
if (isset($_GET["ajout"]) && $nom != null && $pu>0)
{
//Ajout par défaut d'1 article : structure du caddie (Nom, Prix, Qté, Total=Qté*Prix)
if (!existe($nom,$caddie)) { //si l'article n'existe pas déjà dans le caddie
$caddie[]= array($nom,$pu,1,$pu);
$_SESSION["caddie"] = $caddie;
}
}
function existe($mot_clé,$tableau ){
if ($tableau != null)
foreach ($tableau as $ligne){
if (is_array($tableau) && in_array($mot_clé,$ligne)) return true;
else if ($mot_clé == $ligne) return true;
}
return false;
}
//Affichage
echo "
<h1>Panier</h1>
<form name='f1'>
Nom <input name=nom value='$nom'> Prix <input name=pu value='$pu'>
<input type=submit name=ajout value=+>
";
if ($caddie != null) {
$total = 0;
echo "<h3>Produits achetés</h3><table><tr><th>Nom<th>Prix<th>Qté<th>Total";
foreach($caddie as $key=>$ligne)
if ($ligne != null) {
echo "<tr><th>".$ligne[0]."<th>".$ligne[1]."<th><input name='qt[]' value='".$ligne[2]."' onChange='f1.submit()'><th>".$ligne[3]
."<td><a href=?supprimer=$key>Supprimer</a>";
$total += $ligne[3];
}
echo "<tr><th colspan=3>Total (ht)<th>$total <td><input type=submit name='editer' value=Editer></table>";
}
echo "</form>";
Ô tu fais une recherche de l'article s'il existe tu ne l'ajoute pas :
Voici le programme entier :
[php]
session_start();
if (isset($_SESSION["caddie"]))
{
$caddie = $_SESSION["caddie"];
}
else
{
$caddie = null;
}
//Identité d'un article
$nom = isset($_GET['nom'])?$_GET['nom']:null;
$pu = isset($_GET['pu'])?$_GET['pu']:0;
//Maj automatique des qté's
if (isset($_GET['qt']) && $caddie != null)
{
$qt = $_GET['qt'];
if ($qt != null)
foreach($qt as $key=>$valeur) {
if ($valeur>0){
$caddie[$key][2] = $valeur ;
$caddie[$key][3] = $caddie[$key][1] * $valeur;
}
$_SESSION["caddie"] = $caddie;
}
}
//Suppression d'un article
if (isset($_GET["supprimer"]) && $caddie != null)
{
unset($caddie[$_GET["supprimer"]]);
$caddie = array_values($caddie) ;
$_SESSION["caddie"] = $caddie;
}
//Ajout d'article
if (isset($_GET["ajout"]) && $nom != null && $pu>0)
{
//Ajout par défaut d'1 article : structure du caddie (Nom, Prix, Qté, Total=Qté*Prix)
if (!existe($nom,$caddie)) { //si l'article n'existe pas déjà dans le caddie
$caddie[]= array($nom,$pu,1,$pu);
$_SESSION["caddie"] = $caddie;
}
}
function existe($mot_clé,$tableau ){
if ($tableau != null)
foreach ($tableau as $ligne){
if (is_array($tableau) && in_array($mot_clé,$ligne)) return true;
else if ($mot_clé == $ligne) return true;
}
return false;
}
//Affichage
echo "
<h1>Panier</h1>
<form name='f1'>
Nom <input name=nom value='$nom'> Prix <input name=pu value='$pu'>
<input type=submit name=ajout value=+>
";
if ($caddie != null) {
$total = 0;
echo "<h3>Produits achetés</h3><table><tr><th>Nom<th>Prix<th>Qté<th>Total";
foreach($caddie as $key=>$ligne)
if ($ligne != null) {
echo "<tr><th>".$ligne[0]."<th>".$ligne[1]."<th><input name='qt[]' value='".$ligne[2]."' onChange='f1.submit()'><th>".$ligne[3]
."<td><a href=?supprimer=$key>Supprimer</a>";
$total += $ligne[3];
}
echo "<tr><th colspan=3>Total (ht)<th>$total <td><input type=submit name='editer' value=Editer></table>";
}
echo "</form>";
[/php]