Je cherche de l'aide pour utiliser une condition (if) dans un foreach
code:
foreach ($_POST['num_rctt'] as $key => $num_rctt)
{
if($_POST['del'][$key]=1)
{
echo 'DELETRE MATIERE';
//echo $_POST['suppression'][$key];
//$sql = "DELETE FROM recette WHERE num_rctt = '".$_POST['num_rctt'][$key]."'";
// echo '<br>';
//echo $sql;
//$query2=mysql_query($sql) or die(mysql_error() . $sql);
}
else
{
$_POST['qte_m'][$key] = str_replace(",",".",$_POST['qte_m'][$key]);
$sql = "UPDATE recette SET code_m = '".$_POST['code_m'][$key]."', qte_m = '".$_POST['qte_m'][$key]."' WHERE num_rctt = '".$_POST['num_rctt'][$key]."'";
echo '<br>';
echo $sql;
//$query2=mysql_query($sql) or die(mysql_error() . $sql);
}
}
html//php
echo '<td><input type="text" name="num_rctt[]" value ="'.$liste["num_rctt"].'" readonly size="5" maxlenght="5"></td>';
$sql2 = "SELECT code_m, nom_m FROM matiere;";
$query2 = mysql_query($sql2) or die('erreur');
//echo $sql2;
echo '<td><select name="code_m[]">';
while ( $list2 = mysql_fetch_array( $query2 ) ) {
echo '<option value="'.$list2["code_m"].'"'; if($liste["code_m"] == $list2["code_m"]) { echo "SELECTED";}
echo '>'.$list2['nom_m'].'</option>';
}
echo "</SELECT></td>";
mysql_free_result($query2);
echo '<td><input type="text" name="qte_m[]" value ="'.$liste["qte_m"].'"></td>';
echo '<td><input type="checkbox" value="1" name="del[]"></td>';
echo '</tr>';
}
echo '</table>';
echo '<br /><input type="submit" name="ok" id="ok" value="Envoyer" />';
echo '</form>';
Le problème, c'est que j'arrive à faire fonctionner mon IF dans le foreach , je voudrait lui dire que si suppr est coché dans le tableau cela execute une requete(DEL) sinon une autre requete (UPDATE)Exemple j'en ai coché qu'un a supprimer et ben j'ai 5 ligne DELETRE MATIERE. Alors que normalement je devrait en avoir une seul.
Quel erreur j'ai commise?
Merci
guigui69
edit mere-teresa : utilise les balise
plutôt que [code][/color]