Lea Posté 19 Septembre 2004 Posté 19 Septembre 2004 Bonjour, Quelqu'un voit il d'où vient le problème ... J'ai une requête comme ça qui fonctionne très bien : $recupID = $HTTP_POST_VARS[rsID2bis];mysql_select_db($database_connexionCEIF, $connexionCEIF);$query_rsDetail = sprintf("SELECT mission.ID, mission.date_envoi, mission.theme, mission.besoin, mission.commentaires, mission.budget, mission.resultat, mission.suivi, mission.commentaires_suivi, mission.date_realisation, mission.infos_complement, mission.realise_par FROM mission WHERE mission.ID='$recupID'"); Et en dessous, un UPDATE avec la même variable $recupID en WHERE qui ne marche pas : if($HTTP_POST_VARS['valider']=="ok"){mysql_select_db($database_connexionCEIF, $connexionCEIF);$updateResult = "UPDATE mission SET mission.resultat='$resultats' WHERE mission.ID='$recupID'";mysql_query($updateResult, $connexionCEIF) or die(mysql_error());} J'ai retourné le problème dans tous les sens, je ne comprends pas .... Merci de votre aide Léa
Anonymus Posté 19 Septembre 2004 Posté 19 Septembre 2004 Bonjour, essaies ceci : if($HTTP_POST_VARS['valider']=="ok"){mysql_select_db($database_connexionCEIF, $connexionCEIF);$updateResult = "UPDATE mission SET resultat='$resultats' WHERE ID='$recupID'";mysql_query($updateResult, $connexionCEIF) or die(mysql_error());}
xpatval Posté 19 Septembre 2004 Posté 19 Septembre 2004 Et comme ça ? if($HTTP_POST_VARS['valider']=="ok"){mysql_select_db($database_connexionCEIF, $connexionCEIF);$updateResult = "UPDATE mission SET resultat='". $resultats ."' WHERE ID='". $recupID ."'";mysql_query($updateResult, $connexionCEIF) or die(mysql_error());} $recupID est-il numérique ? La requête de récupération des données te retourne bien quelquechose ? xpatval?
Lea Posté 19 Septembre 2004 Auteur Posté 19 Septembre 2004 (modifié) non plus, je craque !!! si je remplace $recupID par un chiffre ça marche par contre.... Modifié 19 Septembre 2004 par Lea
xpatval Posté 19 Septembre 2004 Posté 19 Septembre 2004 Alors essaie comme cela: if($HTTP_POST_VARS['valider']=="ok"){mysql_select_db($database_connexionCEIF, $connexionCEIF);$updateResult = "UPDATE mission SET resultat='". $resultats ."' WHERE ID=". $recupID; ==> WHERE ID = ". $recupID ; mysql_query($updateResult, $connexionCEIF) or die(mysql_error()); } xpatval
Anonymus Posté 20 Septembre 2004 Posté 20 Septembre 2004 Dans la première requète que tu donnes, tu utilises la fonction 'sprintf'. Pourquoi ? Pour ton problème, tu devrais essayer ceci, et nous donner le résultat : echo"<br>".$connexionCEIF;echo"<br>".$database_connexionCEIF;echo"<br>-".$_POST['valider']."-";echo"<br>-".$resultats."-";echo"<br>-".$recupID."-";if($HTTP_POST_VARS['valider']=="ok"){mysql_select_db($database_connexionCEIF, $connexionCEIF);$updateResult = "UPDATE mission SET resultat='$resultats' WHERE ID='$recupID'";mysql_query($updateResult, $connexionCEIF) or die(mysql_error());}
Lea Posté 20 Septembre 2004 Auteur Posté 20 Septembre 2004 Voilà ce qui s'affiche : Resource id #2 <effacé par anonymus...mais ca marche> -- -- -151- quand je tape : echo"<br>".$connexionCEIF;echo"<br>".$database_connexionCEIF;echo"<br>-".$_POST['valider']."-";echo"<br>-".$resultats."-";echo"<br>-".$recupID."-";
xpatval Posté 20 Septembre 2004 Posté 20 Septembre 2004 As tu essayé avec cela ? ==> WHERE ID = ". $recupID ; ? xpatval
Anonymus Posté 20 Septembre 2004 Posté 20 Septembre 2004 Donc, à priori, ton problème vient du fait que la boucle ne s'effectue pas, puisque ta variable 'valider' n'est pas égale à 'ok', ni à rien du tout, d'ailleurs Qu'est ce qui fait que ta variable devrait être égale à 'ok' ? Peux tu nous mettre la ligne qui envoie 'ok' ? (tu dois avoir un formulaire ou un truc dans ce genre.)
Lea Posté 20 Septembre 2004 Auteur Posté 20 Septembre 2004 Anonymus, j'ai un formulaire avec un champ masqué "valider" qui est égal à "ok" : <input name="valider" type="hidden" id="valider" value="ok"> xpatval, j'ai essayé avec WHERE ID = ". $recupID ;, ça n'a rien donné. C'est un gros mystère !!
Titag Posté 20 Septembre 2004 Posté 20 Septembre 2004 Au hasard : tu as bien mis un method=post dans ta balise <form> ?
xpatval Posté 20 Septembre 2004 Posté 20 Septembre 2004 Bon, tu es sur d'avoir une base ? un pc ? tu habites chez tes parents ? Plus sérieusement. $query_rsDetail = "SELECT mission.ID, mission.date_envoi, mission.theme, mission.besoin, mission.commentaires, mission.budget, mission.resultat, mission.suivi, mission.commentaires_suivi, mission.date_realisation, mission.infos_complement, mission.realise_par FROM mission WHERE mission.ID=". $recupID;print $query_rsDetail; Ca donne quoi ? xpatval
xpatval Posté 20 Septembre 2004 Posté 20 Septembre 2004 Autre chose, pour simplifier ta requête SELECT, ote les mission de mission.truc, mission.bidule. Etant donné que ta requête ne porte que sur une table, elle va forcément pointer sur une et une seule table. xpatval
Dan Posté 20 Septembre 2004 Posté 20 Septembre 2004 Lea, Es-tu certaine que ton formulaire utilise la méthode "POST"... parce que si tu ne le précises pas c'est "GET" par défaut. Et dans ce cas, $HTTP_POST_VARS[] est vide
Lea Posté 21 Septembre 2004 Auteur Posté 21 Septembre 2004 mon formulaire est bien envoyé avec la méthode POST ...
Anonymus Posté 21 Septembre 2004 Posté 21 Septembre 2004 Alors, avant de faire : if($HTTP_POST_VARS['valider']=="ok") tu fais : Foreach($_POST as $k=>$v)echo" ".$k." -> ".$v; Tu auras ainsi toutes les variables renvoyées par ta méthode Post. Anonymus.
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant