Problème de UPDATE
Résolu/Fermé
angelusflm
-
17 avril 2009 à 10:09
Sri Lumpa Messages postés 177 Date d'inscription mercredi 14 novembre 2007 Statut Membre Dernière intervention 1 juin 2010 - 17 avril 2009 à 11:11
Sri Lumpa Messages postés 177 Date d'inscription mercredi 14 novembre 2007 Statut Membre Dernière intervention 1 juin 2010 - 17 avril 2009 à 11:11
12 réponses
adns
Messages postés
1094
Date d'inscription
vendredi 23 février 2007
Statut
Membre
Dernière intervention
27 mars 2012
153
17 avril 2009 à 10:13
17 avril 2009 à 10:13
bonjour
pas de </form> pas de bouton submit ni de bouton mise a jour ^o) ????
lorsque tu fais une mise a jour ton code s'execute sans erreur ??
Adns
pas de </form> pas de bouton submit ni de bouton mise a jour ^o) ????
lorsque tu fais une mise a jour ton code s'execute sans erreur ??
Adns
Bonjour
Ta requête met à jour TOUS les employés à la fois, car la seule condition du WHERE est la date. Il faudrait que tu ajoutes AND agent='$agent' (ou tout autre champ permettant de garantir qu'un seul employé est concerné)
Ta requête met à jour TOUS les employés à la fois, car la seule condition du WHERE est la date. Il faudrait que tu ajoutes AND agent='$agent' (ou tout autre champ permettant de garantir qu'un seul employé est concerné)
<input type="hidden" name="numIndice" value="<?php echo $indice;?>"/> </table> <input type="submit" value="valider" name="valider"> <input type="submit" value="Mise à jour" name="maj"> </form>
Voila le code oublié :)
$requete ="UPDATE presence_informatique SET etat = '$etat' WHERE date = ".$date." AND agent=".$agent."";
Pas d'erreur mais aucune mise à jour dans la bdd
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
adns
Messages postés
1094
Date d'inscription
vendredi 23 février 2007
Statut
Membre
Dernière intervention
27 mars 2012
153
17 avril 2009 à 10:42
17 avril 2009 à 10:42
Pour la mise a jour c'est a ce niveau je pense qu'il faut que tu agisse
remplace
if(isset($_POST['valider']))
par
if(isset($_POST['maj']))
Adns
remplace
if(isset($_POST['valider']))
par
if(isset($_POST['maj']))
Adns
$requete ="UPDATE presence_informatique SET etat = '$etat' WHERE date = ".$date." AND agent=".$agent."";
n'est pas correct. Il te manque des ' autour de $agent. et ton ."" à la fin est totalement inutile (ou alors explique moi)
$requete ="UPDATE presence_informatique SET etat = '$etat' WHERE date = $date AND agent='$agent'";
Mais le champ agent est-il bien rempli ?
n'est pas correct. Il te manque des ' autour de $agent. et ton ."" à la fin est totalement inutile (ou alors explique moi)
$requete ="UPDATE presence_informatique SET etat = '$etat' WHERE date = $date AND agent='$agent'";
Mais le champ agent est-il bien rempli ?
Sri Lumpa
Messages postés
177
Date d'inscription
mercredi 14 novembre 2007
Statut
Membre
Dernière intervention
1 juin 2010
68
17 avril 2009 à 10:52
17 avril 2009 à 10:52
Fais un echo de ta requête, ça pourrait aider à voir si les variables que tu transmets sont bien celles que tu attends.
Au passage, si ta variable $date n'est pas un Timestamp (i.e. un entier) il va falloir que tu le mettes entre simple quote ('), tout comme pour ta variable $agent.
Au passage, si ta variable $date n'est pas un Timestamp (i.e. un entier) il va falloir que tu le mettes entre simple quote ('), tout comme pour ta variable $agent.
Pour la mise a jour c'est a ce niveau je pense qu'il faut que tu agisse remplace if(isset($_POST['valider'])) par if(isset($_POST['maj'])) Adns
Je sais, mais pour le moment je le fait avec valider puisque je test juste cette partie du code après je le ferai.
Ensuite ma variable "etat" est un menu déroulant donc forcement il y a quelque chose. Pour finir la date n'est pas un timestamp donc je vais essayé comme ceci
$requete ="UPDATE presence_informatique SET etat = '$etat' WHERE date = $date AND agent='$agent'";
Sri Lumpa
Messages postés
177
Date d'inscription
mercredi 14 novembre 2007
Statut
Membre
Dernière intervention
1 juin 2010
68
17 avril 2009 à 11:04
17 avril 2009 à 11:04
Essaye plutot comme ça, sinon une erreur risque d'être générée :
$requete ="UPDATE presence_informatique SET etat='$etat' WHERE date='$date' AND agent='$agent'";
adns
Messages postés
1094
Date d'inscription
vendredi 23 février 2007
Statut
Membre
Dernière intervention
27 mars 2012
153
17 avril 2009 à 11:04
17 avril 2009 à 11:04
ok alors dans ce cas fais un echo de toute test variable voir ce qu'elle contienne....
tu vera peut etre une erreur
Adns
tu vera peut etre une erreur
Adns
merci beaucoup c'est bien un soucis avec les "" :)
J'ai mis ceci
J'ai mis ceci
$requete ="UPDATE presence_informatique SET etat = '$etat' WHERE date = '$date' AND agent='$agent'";
Sri Lumpa
Messages postés
177
Date d'inscription
mercredi 14 novembre 2007
Statut
Membre
Dernière intervention
1 juin 2010
68
17 avril 2009 à 11:11
17 avril 2009 à 11:11
Content d'avoir pu t'aider ;)
Pense à marquer le post comme résolu si tout va bien
Pense à marquer le post comme résolu si tout va bien
17 avril 2009 à 10:18