Bonjour,
Je débute à 65 ans dans ce language php, et je butte sur la modification de la quantité d'un article dans la gestion d'un panier d'achat. Je n'arrive pas à saisir la nouvelle quantité (en utilisant input) et à écraser la valeur précédente par un UPDATE, par contre la suppression d'une ligne d'achat fonctionne bien.
Si vous avez une idée, cela me dépannerai bien car cela fait plus d'une semaine que je galère, ci dessous mon programme épuré des floritures
merci
<?php
$ici="gestion_panier.php?pseudo=$pseudo";
$c=0;
require("conf.php");
$db = mysql_connect($host, $user, $password) or die ("connexion au serveur impossible");
mysql_select_db($database,$db) or die ("sélection de la base impossible");
$sql = "SELECT pseudo, ref_prod, quant FROM panier WHERE pseudo = '$pseudo'";
$result = mysql_query($sql) or die ("Execution extract impossible");
$nbr_articles = mysql_num_rows($result);
// mise en page
echo "<table border=0 /......... ..../ color=#FFFFFF>";
// test de l'opération à effectuer
if (isset ($_POST['update']))
{
$update=$_POST['update'];
}
if (isset ($_POST['supprimer']))
{
$supprimer=$_POST['supprimer'];
}
echo "<h2>Your basket $pseudo</h2>/..........(Delete a line ---------> tick on the check box line and click on 'delete' box )</font></font></div>";
echo "<div align='left'><font color='white'><font size=2>(Modify the quantity --> write the new quantity and click on new quantity box)</font></font></div>";
echo "<br>";
// début de update quantité
if ($update)
{
$quant=$_POST['quant'];
$nbenrq= sizeof($quant);
for ($i=0; $i<$nbenrq; $i++)
{
$req="UPDATE panier SET quant=$quant WHERE $ref_prod[$i]";
mysql_query($req, $db);
$nb=mysql_affected_rows ($db);
if ($nb ==0)
echo "error no deleted : ". mysql_error()."<br>";
}
} //fin update */
if ($supprimer)
{
$supp=$_POST['supp'];
$nbenr= sizeof($supp);
for ($i=0; $i<$nbenr; $i++)
{ $req_supp="DELETE from panier WHERE id='$supp[$i]'";
mysql_query($req_supp, $db);
$nb=mysql_affected_rows ($db);
if ($nb ==0)
echo "error no deleted : ". mysql_error()."<br>";
}
} //fin supprimer
// afficher la liste
$sql = "SELECT id,pseudo, ref_prod, quant FROM panier WHERE pseudo = '$pseudo'";
$resultat = mysql_query($sql) or die ("Execution extract impossible");
$nblignes=mysql_num_rows($resultat);
$nbchamps=mysql_num_fields($resultat);
echo "<table border=0 align=left width=85% cellspacing=3 cellpadding=3 >";
echo "<FORM ACTION=$ici method='POST'><tr>";
echo "<td><font color=#ffffff>row</td>";
for ($i=2; $i < $nbchamps; $i++)
{
$tabchamps[$i] = mysql_field_name($resultat,$i);
echo "<th><font color=#ffffff>$tabchamps[$i]</font></th>";
}
echo "<td align='left'><font color=#ffffff><input type=submit name='supprimer' value='Delete !'><input type=submit name='update' value=' New quantity ! '></td></tr>";
$rg= 1;
for ($i=0; $i < $nblignes; $i++)
{
$ligne = mysql_fetch_row($resultat);
echo "<tr bgcolor=\"#FFFFFF\">"; $c= ! $c;
echo "<td>$rg</td>";
$rg++;
for ($j=2; $j < $nbchamps; $j++)
{
echo "<td>$ligne[$j]</td>";
}
echo "<td align='left'> <input type=checkbox name='supp[]' value='$ligne[0]'> <input type=text name='quant' value='$quant[$j]'></td></tr>";
}
echo "</form></table>";
echo "</table>";
mysql_close($db_link);
?>