IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Update dans une BDD (la suite) [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 106
    Par défaut Update dans une BDD (la suite)
    Bonjour à tous (et re pour les autres )

    Voilà, la nouvelle entrée fonctionne et l'update aussi, un peu trop par contre lol.

    En gros, voici la ligne de code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $query = "UPDATE otl_formation SET description='$description', note='$note' WHERE (session='$session' AND module='$module' AND collab='$collab')";
    			$requpdate = mysql_query($query);
    Par apport au code de Fench j'ai rajouté la note dans le SET et session dans le WHERE. Le soucis c'est le AND est interprété comme un OU.

    Je m'explique, pour le moment il n'y à qu'une Session, donc on en tient pas compte.

    Le collab HTC à un module xXx avec le formateur BMW. Nouvelle entrée.
    Maintenant, toujours le collab HTC veut modifier son commentaire, donc il sélectionne le module xXx mais prends le formateur Suzuki.
    Est bien l'update ce fait bien dans la description mais pour le module HTC avec BMW.

    Ce que j'aimerais c'est qu'il sélectionne bien LE module ET le formateur...

  2. #2
    Membre éclairé Avatar de baggie
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    755
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Octobre 2007
    Messages : 755
    Par défaut
    Re !

    Il n'y a pas de conflit de name par rapport à tes différents champs ?

  3. #3
    Membre Expert Avatar de Fench
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2002
    Messages
    2 353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Groenland

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 353
    Par défaut
    C'est normal, vu ta reqûete

    Je reprends (on laisse tomber $session car c tjs la même pour l'instant) dans le if, ya insertion si le couple (module, collab) n'existe pas update sinon.

    Pour l'instant tu gardes cette tactique ....

    Maintenant si tu veux y ajouter le champ 'formateur' pas de pbs mais va falloir changer ta requête initiale sur le if, else PUIS changer la dernière en y ajoutant dans le WHERE 'formateur'

    As tu compris que ta selection actuelle ne marche que pour les couples (module, collab) !!!!

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 106
    Par défaut
    Bon y'a forcement un truc que je n'ai pas compris alors...
    Voilà le code que j'ai écris :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
    		$query = "SELECT session, module, collab, formateur FROM otl_formation WHERE (session='$session' AND module='$module' AND collab='$collab' AND formateur='$formateur')";
    		$result_final = mysql_query ($query);
     
    		$data = mysql_num_rows ($result_final);
    		if ($data == 0) {
    			$query_if = "INSERT INTO otl_formation (ID, collab, session, module, formateur, note, description, date) VALUES ('', '$collab', '$session', '$module', '$formateur', '$note', '$description', '$date')";
    			mysql_query ($query_if);
    			}
    		else {
    			echo "<pre>";
    			print_r ($_POST);
    			echo "</per>";
    			$query = "UPDATE otl_formation SET description='$description' AND note='$note' WHERE (session='$session' AND module='$module' AND collab='$collab' AND formateur='$formateur')";
    			$requpdate = mysql_query($query);
    			}
    On pourrais presque dire que ca fonctionne mais en fait si je modifie quelque chose ca rentre bien dans le else mais les valeurs Note et Description passe à 0.

    Autre petite question, Fench, tu m'avais dis en gros (à moins que j'ai mal compris) que je n'avais pas besoin de ma variable date car elle était au format de la BDD.
    Effectivement il me semble bien avoir fait des essais et ca entrée bien une date. Là j'ai du le remettre sinon j'ai des 0 partout.

    Merci.

  5. #5
    Membre éclairé Avatar de baggie
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    755
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Octobre 2007
    Messages : 755
    Par défaut
    Un détail :

    tu as écrit <pre></per> et non </pre>.

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 106
    Par défaut
    Citation Envoyé par baggie Voir le message
    Un détail :

    tu as écrit <pre></per> et non </pre>.
    Effectivement mais l'erreur à était corrigé
    (par contre j'ai toujours le même problème mais en fait note ne change pas et description passe à 0)

  7. #7
    Membre Expert Avatar de Fench
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2002
    Messages
    2 353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Groenland

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 353
    Par défaut
    Salut,

    Mis à part la balise <pre></pre> que je connais pas (html c pas mon fort)

    Ton print_r donne quoi ?

    Autre petite question, Fench, tu m'avais dis en gros (à moins que j'ai mal compris) que je n'avais pas besoin de ma variable date car elle était au format de la BDD.
    Effectivement il me semble bien avoir fait des essais et ca entrée bien une date. Là j'ai du le remettre sinon j'ai des 0 partout.


    Non, la date tu dois la mettre dans le Insert ou l'update, j'ai vérifié de toutes les façons dans ta base c du dateTime et ça correspond à date(Y-m-d H: .... enfin bref le truc dans ton code,

  8. #8
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 106
    Par défaut
    Citation Envoyé par Fench Voir le message
    Salut,

    Mis à part la balise <pre></pre> que je connais pas (html c pas mon fort)

    Ton print_r donne quoi ?



    Non, la date tu dois la mettre dans le Insert ou l'update, j'ai vérifié de toutes les façons dans ta base c du dateTime et ça correspond à date(Y-m-d H: .... enfin bref le truc dans ton code,
    Alors <pre></pre> permet de créer un texte dont la mise en page est conservé.
    Très utile donc pour les tableaux comme $_POST.

    Le résultat du print_r à l'air correct :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    Array
    (
        [session] => Session 1
        [module] => Open Hole
        [formateur] => Prénom NOM
        [note] => 3
        [description] => cvcv
        [collab] => Prénom NOM
    )
    1
    Ok pour la date je l'ai remis dans le INSERT...

  9. #9
    Membre Expert Avatar de Fench
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2002
    Messages
    2 353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Groenland

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 353
    Par défaut
    Array
    (
    [session] => Session 1
    [module] => Open Hole
    [formateur] => Prénom NOM
    [note] => 3
    [description] => cvcv
    [collab] => Prénom NOM
    )
    1
    1) C quoi le '1' qui se balade après la parenthèse ?

    2) Juste par curiosité, essayes avec des valeurs ne comportant pas d'espaces (genre [session] => Session1; [module] => OpenHole etc, )
    J'AI PEUR D'UN TRUC à cause de la requête qui fonctionne depuis Lundi avec la syntaxe: "description='$description' ...."

  10. #10
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 106
    Par défaut
    Citation Envoyé par Fench Voir le message
    1) C quoi le '1' qui se balade après la parenthèse ?

    2) Juste par curiosité, essayes avec des valeurs ne comportant pas d'espaces (genre [session] => Session1; [module] => OpenHole etc, )
    J'AI PEUR D'UN TRUC à cause de la requête qui fonctionne depuis Lundi avec la syntaxe: "description='$description' ...."
    Pour le '1' il me semblait bien qu'il n'avait rien à faire là mais quand j'utilise le print_r il me l'affiche aussi...

    Pour l'essai sans espaces j'essaye et je vous dis...
    (apparemment tu as une idée derrière la tête, si la cause viens de là ca m'a l'air tordu comme truc... lol)

  11. #11
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 106
    Par défaut
    Bon alors voici le retour de mon Array :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    Array
    (
        [session] => Session1
        [module] => Certification
        [formateur] => PrénomNOM
        [note] => 4
        [description] => toto
        [collab] => Antoine
    )
    1
    1/ J'ai toujours le '1'.
    2/ Je n'ai aucun espace.
    3/ Même problème...


  12. #12
    Membre Expert Avatar de Fench
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2002
    Messages
    2 353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Groenland

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 353
    Par défaut
    Mais au fait:

    C'est pas ça le UPDATE
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    SET description='$description' AND note='$note'
    MAIS ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    SET description='$description', note='$note'
    Pourquoi un AND

  13. #13
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 106
    Par défaut
    Pfffffffffff, sans doutes parce que je me suis embrouillé, encore...

    Merci tout fonctionne impect


  14. #14
    Membre Expert Avatar de Fench
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2002
    Messages
    2 353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Groenland

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 353
    Par défaut


    Oui parceque au début d ton post yavait pas le AND

    Bon aller, bonne journée qd même GoodWear

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème avec les update dans une BDD
    Par P.O.K dans le forum ASP.NET
    Réponses: 1
    Dernier message: 13/06/2011, 17h07
  2. Faire un insert ou un update dans une bdd
    Par Aspic dans le forum Développement de jobs
    Réponses: 9
    Dernier message: 08/07/2010, 17h22
  3. [MySQL] Update dans une BDD
    Par GoodWear dans le forum PHP & Base de données
    Réponses: 80
    Dernier message: 30/11/2009, 12h04
  4. Changements de colonnes dans une BDD MySQL
    Par arnaud_verlaine dans le forum Requêtes
    Réponses: 8
    Dernier message: 07/08/2003, 11h33
  5. Pb d'update dans une DataGrid
    Par bidson dans le forum XMLRAD
    Réponses: 11
    Dernier message: 27/05/2003, 14h11

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo