Probleme UPDATE avec boucle WHILE
Bonjour à tous
je travail avec php et mysql.
voila mon but c'est de faire une mise à jour d'une table qui contien les champs suivant: REFERENCE, NAME, AZIMUTAX ,AZIMUTXA, DISTANCE, RESULT
et cette mise à jour concerne le champs RESULT qui doit contenir une chaine récupérée à partir de 4 select et qui peuvent être soit: OK, NOK ou ND
et ceci sur au + quatre enregistrement.
voila le script:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
| <?php session_start();
$res1=$_POST['res1']; //chaine 1 du premier select
$res2=$_POST['res2'];// deuxieme chaine
$res3=$_POST['res3'];// troisieme chaine
$res4=$_POST['res4'];// quatrieme chaine
if($res1=="value"){$res1="";}
if($res2=="value"){$res2="";}
if($res3=="value"){$res3="";}
if($res4=="value"){$res4="";}
$tab=array($res1,$res2,$res3);
$postres=$_SESSION['postres'];// c la REFERENCE
$db = mysql_connect('localhost', 'root', '');
mysql_select_db('trans',$db);
$i=-1;
$extract=mysql_query("SELECT * FROM commande_los,concerner2 WHERE commande_los.REFERENCE ='".$postres."' AND concerner2.REFERENCE ='".$postres."' ")or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
$req=mysql_num_rows($extract);
if($req>0)
{
while($verif=mysql_fetch_array($extract))
{$i++;
$maj=mysql_query("UPDATE concerner2 SET RESULT ='".$tab[$i]."' WHERE REFERENCE ='".$verif['REFERENCE']."' ") or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
}
}
$num=mysql_affected_rows();
if ($num>0){
?>
<div id="Layer11">
<font size="+2">La mise à jour s'est bien déroulée </font></div>
....etc |
la première requête SELECT c'est pour extraire les enregistrement de la table "concerner2" ayant la méme REFERENCE que la table "commande_los"
et suivant ces enregistrements je veux faire un update avec le champs RESULT et les valeur par exemple pour 3 enregistrements: OK, NOK , NOK mais le problème j'obtiens dans mysql soit OK, OK ,OK ou bien NOK,NOK,NOK .
la récupération des valeurs se fait correctement mais l'insertion dans les enregistrements ne se passe pas bien .
Merci de m'eclaircir je vous serais trés reconnaissant.