Je fait un caddy avec 3 tables produits (3 pages différentes).
Voici mon problème:
Lorsque je choisi un 1er prod (id=1) de la table Poteries, ok il me l'ajoute au caddy.
Ensuite quand je choisi un second prod (id=2) de la table Bijoux, il me l'ajoute mais il me remplace le 1er, id=1 de Poteries par id=1 de la table Bijoux.
Il croit que tous le caddy vient de la dernière table sélectionnée.
Je crois que le problème vient de variable d'url t ... Seulement de ne sais plus quoi en faire, ou comment la trier selon chaque produit ajouté.
Si une bonne âme pouvait m'aider . Merci d'avance
Url de test: Boutik
Mon code:
CODE
Lien Ajout caddy:
et change sur chaque page (Poteries,Bijoux,Bio)
<a href=caddie_add.php?prod=".$res['id']."&t=bijoux&qte=1>Ajouter au panier</a>
Add Caddy:
<? session_start();
if(isset($_GET['prod']) && isset($_GET['qte']))//si id produit
{
$t=$_GET['t'];
if(isset($_SESSION['caddy']))
{
$nbprod=count($_SESSION['caddy']);
for($i=0;$i<$nbprod;$i++)
{
if($_SESSION['caddy'][$i]['prod']==$_GET['prod'])
{
$prodin="true";
$prodline=$i;
}
}
if(isset($prodin) && $prodin=="true")
{
array_splice($_SESSION['caddy'],$prodline,1);
array_push($_SESSION['caddy'],array("prod"=>$_GET['prod'],"qte"=>$_GET['qte']));
}
else
{
array_push($_SESSION['caddy'],array("prod"=>$_GET['prod'],"qte"=>$_GET['qte']));
}
header("Location:caddie.php?t=$");
}
else
{
session_register('caddy');
$_SESSION['caddy']=array();
array_push($_SESSION['caddy'],array("prod"=>$_GET['prod'],"qte"=>$_GET['qte']));
header("Location:caddie.php?t=$t");
}
}
else
{
header("Location:caddie.php");
}
?>
Affichage du caddy:
<?
if(isset($_SESSION['caddy']))
{
for($i=0;$i<count($_SESSION['caddy']);$i++)
{
$t=$_GET['t'];
$sql='Select id,ref,nom,prix FROM '.$t.' WHERE id="'.$_SESSION['caddy'][$i]['prod'].'"';
$res=mysql_query($sql) or die ('Erreur SQL!'.$sql.mysql_error());
while($val=mysql_fetch_array($res))
{
$tva=19.6;
$prix_ligne=$val['prix']*$_SESSION['caddy'][$i]['qte'];;
$prix_tot_ht+=$prix_ligne;
$prix_temp=($prix_tot_ht*$tva)/100;
$prix_tot_ttc=$prix_tot_ht+$prix_temp;
echo "<tr>";
?>
.....
et change sur chaque page (Poteries,Bijoux,Bio)
<a href=caddie_add.php?prod=".$res['id']."&t=bijoux&qte=1>Ajouter au panier</a>
Add Caddy:
<? session_start();
if(isset($_GET['prod']) && isset($_GET['qte']))//si id produit
{
$t=$_GET['t'];
if(isset($_SESSION['caddy']))
{
$nbprod=count($_SESSION['caddy']);
for($i=0;$i<$nbprod;$i++)
{
if($_SESSION['caddy'][$i]['prod']==$_GET['prod'])
{
$prodin="true";
$prodline=$i;
}
}
if(isset($prodin) && $prodin=="true")
{
array_splice($_SESSION['caddy'],$prodline,1);
array_push($_SESSION['caddy'],array("prod"=>$_GET['prod'],"qte"=>$_GET['qte']));
}
else
{
array_push($_SESSION['caddy'],array("prod"=>$_GET['prod'],"qte"=>$_GET['qte']));
}
header("Location:caddie.php?t=$");
}
else
{
session_register('caddy');
$_SESSION['caddy']=array();
array_push($_SESSION['caddy'],array("prod"=>$_GET['prod'],"qte"=>$_GET['qte']));
header("Location:caddie.php?t=$t");
}
}
else
{
header("Location:caddie.php");
}
?>
Affichage du caddy:
<?
if(isset($_SESSION['caddy']))
{
for($i=0;$i<count($_SESSION['caddy']);$i++)
{
$t=$_GET['t'];
$sql='Select id,ref,nom,prix FROM '.$t.' WHERE id="'.$_SESSION['caddy'][$i]['prod'].'"';
$res=mysql_query($sql) or die ('Erreur SQL!'.$sql.mysql_error());
while($val=mysql_fetch_array($res))
{
$tva=19.6;
$prix_ligne=$val['prix']*$_SESSION['caddy'][$i]['qte'];;
$prix_tot_ht+=$prix_ligne;
$prix_temp=($prix_tot_ht*$tva)/100;
$prix_tot_ttc=$prix_tot_ht+$prix_temp;
echo "<tr>";
?>
.....
Edit Arlette : Inutile d'utiliser la couleur, se servir de balise code suffit