Bonjour, je souhaiterai obtenir de l'aide pour la modification de quantité d'un panier virtuel.
Mon problème est que j'ai mis en place mon test pour la modification qui fonction bien mais uniquement pour le cas où je n'ai qu'un seul article présent dans mon panier. pour moi le problème viens du fait que les identifiant du formulaire possède les mêmes nom quelque soit la ligne du tableau. Je ne parviens pas à trouver de solution. Voici mon code :
<?php
//pour la validation du formulaire **************************************************************
echo"
<script language='javascript'>
function verific()
{
alert('ok');
alert(document.getElementById('qtee').value);
document.bidon.submit();
}
</script>
";
//***********************************************************************************************
//pour la modification de la quantité************************************************************
if (isset($_POST['index']))
{
echo $_POST['index'];
if ($_POST['qtee'] > 0)
{
$positionProduit = array_search($_POST['index'], $_SESSION['panier']['reference']);
if ($positionProduit !== false)
{
$_SESSION['panier']['quantite'][$positionProduit] = $_POST['qtee'] ;
}
}
}
//**********************************************************************************************
//pour la suppression d'un article *************************************************************
If (isset($_GET['index']))
{
$temp=array();
$temp['ref']=array();
$temp['quant']=array();
for($i = 0; $i < count($_SESSION['panier']['reference']); $i++)
{
if ($_SESSION['panier']['reference'][$i] !== $_GET['index'])
{
array_push( $temp['ref'],$_SESSION['panier']['reference'][$i]);
array_push( $temp['quant'],$_SESSION['panier']['quantite'][$i]);
}
}
unset($_SESSION['panier']);
for ($i = 0; $i < count($temp['ref']); $i++)
{
$_SESSION['panier']['reference'][$i]=$temp['ref'][$i];
$_SESSION['panier']['quantite'][$i]=$temp['quant'][$i];
}
unset($temp);
}
//*************************************************************************************
//connexion au SGBD MySQL
$connexion =mysql_connect("localhost","root","");
//test si la connexion est faites ou non
if($connexion)
{
if(count($_SESSION['panier']['reference'])!=0)
{
$NbRef = count($_SESSION['panier']['reference']);
$i=0;
//entete du tableau *******************
echo "<CENTER><h1>Votre panier en Détail :</h1>
<table border='1' width='85%'><br><br>
<th><b>Ref</th>
<th>Désignation</th>
<th>Px Unit.</th>
<th>Qté</th>
<th>Montant</b></th>
<th>Supprimer</th>
";
//*************************************
//connexion reussi
//connexion a la base de données
mysql_select_db("ciw",$connexion);
$tot =0;
for($i=0;$i<$NbRef;$i++)
{
$requete= "select * from produits where reference='".$_SESSION['panier']['reference'][$i]."';";
$resultat=mysql_query($requete,$connexion);
//recuperation du jeu d'enregistrement
$ligne = mysql_fetch_assoc($resultat);
$mont = $ligne['prix']*$_SESSION['panier']['quantite'][$i];
$tot = $tot+$mont;
echo " <tr><TD align='left' width='8%'>".$_SESSION['panier']['reference'][$i]."</TD>
<TD align='left' width='37%'>".$ligne['nom']."</TD>
<TD align='right' width='10%'>".$ligne['prix']." ¤</TD>
<TD align='right' width='10%'>
<form id='bidon' name='bidon' method='POST' action='index.php?page=detailpanier&ident=".$_SESSION['panier']['reference'][$i]."'>
<input type='text' id='qtee' name='qtee' value='".$_SESSION['panier']['quantite'][$i]."' size='3' onchange='verific();'>
<input type='hidden' name='index' value='".$_SESSION['panier']['reference'][$i]."'>
</form>
</TD>
<TD align='right' width='20%'>".$mont." ¤</TD>
<td> <form action='index.php?page=detailpanier&index=".$_SESSION['panier']['reference'][$i]."' method='POST'>
<INPUT Type='submit' Name'BT_Valider' value='X'>
</form>
</td>
</TR>";
}
echo "<tr><TD align='right' widht='65%' colspan=5><B>Total </B></TD>
<TD align='right' width='20%'>".$tot." ¤</TD>
</TABLE><br><br>";
?>
<form action="index.php?page=requetes&pan=vid" method="POST">
<INPUT Type="submit" Name="BT_Valider" Value="Vider le panier">
</form>
<?
}
else
{
echo "<CENTER><h1>Impossible car votre panier est vide!!!</h1></center>";
}
}
else
{
//echec de la connexion
echo" probleme de connexion <br>";
}
?>
merci d'avance!