Aller au contenu

Problème avec variable dans UPDATE


Lea

Sujets conseillés

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

Lien vers le commentaire
Partager sur d’autres sites

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());
}

Lien vers le commentaire
Partager sur d’autres sites

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?

Lien vers le commentaire
Partager sur d’autres sites

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

Lien vers le commentaire
Partager sur d’autres sites

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());
}

Lien vers le commentaire
Partager sur d’autres sites

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."-";

Lien vers le commentaire
Partager sur d’autres sites

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.)

Lien vers le commentaire
Partager sur d’autres sites

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 !!

Lien vers le commentaire
Partager sur d’autres sites

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

Lien vers le commentaire
Partager sur d’autres sites

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

Lien vers le commentaire
Partager sur d’autres sites

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 ;)

Lien vers le commentaire
Partager sur d’autres sites

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.

Lien vers le commentaire
Partager sur d’autres sites

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...