Probleme de $_POST
Posté : 04 déc. 2006, 15:58
Bonjour , je vouz ecris car j'ai un probleme sur mon algorithme.
J'ai créer un tableau qui montre les commandes en cours classé selon des groupes de fournisseur.
Je voudait que si l'on regarde un produit dans le tableau et que l'on selection"effectué" dans une liste deroulant et que l'on appuis sur la case valider qui se trouve en bas du tableau que l'on copie les champs du produit (que l'on a mis effectué) dans une autre table historique .
Hors le produit s'ajoute pas et cette erreur s'affiche :
Erreur : Column count doesn't match value count at row 1
voici mon code :
(ps : pour prix et prix total , les variables ne sont pas definis dans la portion de code que je vous montre mais elle le sont bien dans mon algorithme , sinon si j'appuis pa sur valider je n'ais absolument aucune erreure le code fonctionne bien)
J'ai créer un tableau qui montre les commandes en cours classé selon des groupes de fournisseur.
Je voudait que si l'on regarde un produit dans le tableau et que l'on selection"effectué" dans une liste deroulant et que l'on appuis sur la case valider qui se trouve en bas du tableau que l'on copie les champs du produit (que l'on a mis effectué) dans une autre table historique .
Hors le produit s'ajoute pas et cette erreur s'affiche :
Erreur : Column count doesn't match value count at row 1
voici mon code :
$qryGroup = "SELECT distinct(groupe) FROM commande2";
$resQryGroup = mysql_query($qryGroup,$link) or die ('Erreur : ' . mysql_error() );
while ($rangGroupe = mysql_fetch_array($resQryGroup)){
$total_commande = 0;
$qryCmde = "SELECT * FROM commande2 WHERE groupe = '" . $rangGroupe['groupe'] . "'";
$resQryCmde = mysql_query($qryCmde,$link) or die ('Erreur : ' . mysql_error() );
?>
<BR><FORM method="POST" action="commande3.php">
<table border=1>
<TR bgcolor= "#CCFFCC">
<th>Nom</th><th>Référence</th><th>Quantité</th><th>Nombre d'unité</th><th>Fournisseur</th><th>Reference fournisseur </th>
<th>Prix à l'unité</th><th>Prix total</th><th>Prix avec reduction</th><th>Numero de cas</th><th>Date</th><th>initiale</th>
<th>Localisation</th><th>Commande</th>
</tr>
<?php
while($rangCmde = mysql_fetch_array($resQryCmde)){
if(isset($_POST['commande'])){
$list=$_POST['commande'];
$listnom=$_POST['tabnom'];
for($i=0;$i<count($list);$i++)
{
if ($list[$i]=="effectuee")
{
echo"$listnom[$i] $list[$i] <br>";
$insertion="INSERT INTO historique VALUES ('".$rangCmde['numero_cass']."','".$rangCmde['fournisseur']."','".$rangCmde['prix']."',
'".$rangCmde['quantite']."','".$rangCmde['nombre_quantite']."','".$rangCmde['nom']."','".$rangCmde['date']."','".$rangCmde['prix_total']."',
'".$rangCmde['initiale']."','".$rangCmde['reference']."','".$rangCmde['reference_fournisseur']."',
'".$rangCmde['equipe']."','".$rangCmde['groupe']."')";
$result_insertion=mysql_query($insertion,$link) or die ('Erreur : '.mysql_error() );
}
elseif ($list[$i]=="annulee")
{
$query="UPDATE produit2 SET disponibilite='annulé' where nom like '$listnom[$i]'";
$result=mysql_query($query,$link) or die ('Erreur : '.mysql_error() );
echo"$listnom[$i] $list[$i] <br>";
}
if (($list[$i]=="effectuee")||($list[$i]=="annulee"))
{
$rqSql= "DELETE FROM commande WHERE nom='$listnom[$i]'";
$result3 = mysql_query( $rqSql, $link) or die( "Suppression impossible.");
}
}
}
$reqloc="Select * from produit2 where reference like '".$rangCmde['reference']."'";
$resultreqloc=mysql_query($reqloc,$link) or die ('Erreur : '.mysql_error() );
$voirreqloc = mysql_fetch_assoc($resultreqloc);
?>
<tr>
<td><font face='Verdana' size='2'><?php echo $rangCmde['nom']; ?></font></td>
<td><font face='Verdana' size='2'><?php echo $rangCmde['reference']; ?></font></td>
<td><font face='Verdana' size='2'><?php echo $rangCmde['quantite']; ?></font></td>
<td><font face='Verdana' size='2'><?php echo $rangCmde['nombre_quantite']; ?></font></td>
<td><font face='Verdana' size='2'><?php echo $rangCmde['fournisseur']; ?></font></td>
<td><font face='Verdana' size='2'><?php echo $rangCmde['reference_fournisseur']; ?></font></td>
<td><font face='Verdana' size='2'><?php echo $prix2; ?></font></td>
<td><font face='Verdana' size='2'><?php echo $prix_total2; ?></font></td>
<td><font face='Verdana' size='2'><?php echo $reduction2; ?> </font></td>
<td><font face='Verdana' size='2'><?php echo $rangCmde['numero_cass']; ?></font></td>
<td><font face='Verdana' size='2'><?php echo $rangCmde['date']; ?></font></td>
<td><font face='Verdana' size='2'><?php echo $rangCmde['initiale']; ?></font></td>
<td><font face='Verdana' size='2'><?php echo $voirreqloc['localisation']; ?></font></td>
<td class="truc"><font face='Verdana' size='2'>
<div style="text-align:left;">
<select name="commande[] ?>]">
<option value="rien"></option>
<option value="effectuee">Effectuée</option>
<option value="annulee">Annulée</option>
</select>
<input type="hidden" name="tabnom[]" value="<?php echo $rangCmde['nom']; ?>" />
</div>
</font>
</td>
</tr>
<?php
}
?>
<tr>
<td colspan=14>
<div style="text-align:center;">
<input type="submit" value="Valider" />
<input type="submit" value="Imprimer" onclick="print();">
<input type="submit" value="Fermer" onClick="window.close()" />
</div>
</td>
</tr>
</table>
</form>
Si vous voyez quelque chose faite moi signe encore merci (ps : pour prix et prix total , les variables ne sont pas definis dans la portion de code que je vous montre mais elle le sont bien dans mon algorithme , sinon si j'appuis pa sur valider je n'ais absolument aucune erreure le code fonctionne bien)