Problem requete update avec boucle while
Posté : 06 juin 2007, 02:05
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 recuperée à partir de 4 select et qui peuvent etre soit: OK, NOK ou ND
et ceci sur au + quatre enregistrement.
voila le script:
....etc
la premiere requete 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 probleme j'obttien dans mysql soit OK, OK ,OK ou bien NOK,NOK,NOK .
la recuperation 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.
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 recuperée à partir de 4 select et qui peuvent etre soit: OK, NOK ou ND
et ceci sur au + quatre enregistrement.
voila le script:
<?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 premiere requete 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 probleme j'obttien dans mysql soit OK, OK ,OK ou bien NOK,NOK,NOK .
la recuperation 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.