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 :

Récupérer une donnée dune table mysql [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre confirmé Avatar de chrisl0
    Homme Profil pro
    Par là ;)
    Inscrit en
    Février 2009
    Messages
    136
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Tarn et Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Par là ;)

    Informations forums :
    Inscription : Février 2009
    Messages : 136
    Par défaut Récupérer une donnée dune table mysql
    bonjour jai un fait un livre dor il fonctionne bien mais maintenant je fait la parti administration pour supprimer et modifier un message la partie supprimer fonctionne mais pas la fonction modifier voici le code:
    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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
     
    //partie pour modifier le message du livre dor
    if (isset($_GET['mod_id_ld']))
    {
     
    $id  = $_GET["mod_id_ld"] ;
     
      //requête SQL:
     $requete = mysql_query("SELECT * FROM livre WHERE mod_id_ld = ' . $id ") ;
     
    while ($result = mysql_fetch_object($requete))
    {
    echo '
          <fieldset>
                 <form name="livre" method="post" action="index.php?page=livre">
            <p>
                <label for="pseudo">Pseudo</label> <input name="pseudo_ld" size="20" value="'.$result['pseudo'].'" /><br />
                <label for="message">Message</label><br />
                <textarea name="message_ld" rows="8" cols="35">'.$result['message'].'</textarea><br />
                <input type="HIDDEN" name=id_dl" value="'.$result['id'].'"> 
                <input type="submit" name="envoyer_ld" value="Modifier"/>
            </p>
        </form>   
       </fieldset> ';
    }
    }
     
    if(isset($_POST['envoyer_ld'])){
     
    $pseudo     = $_POST["pseudo_ld"] ;
    $message    = $_POST["message_ld"] ;
    $id         = $_POST["id_ld"] ;
     
     $requete = mysql_query("UPDATE personnes
                SET pseudo     = '$pseudo', message    = '$message' WHERE mod_id_ld = ' . $id ");
     
     
      if($requete)
      {
        echo("La modification à été correctement effectuée") ;
      }
      else
      {
        echo("La modification à échouée") ;
      }
    }
     
     
    // On calcule le numéro du premier message qu'on prend pour le LIMIT de MySQL
    $premierMessageAafficher = ($pagel - 1) * $nombreDeMessagesParPage;
    $reponse = mysql_query('SELECT * FROM livre ORDER BY id DESC LIMIT ' . $premierMessageAafficher . ', ' . $nombreDeMessagesParPage);
    while ($donnees = mysql_fetch_array($reponse))
    {
            echo '
       <fieldset>
           <legend>
           <a href="index.php?page=livre&amp;sup_id_ld=' . $donnees['id'] . '">
           <img border="0" src="../images/picture_delete.png" width="16" height="16"></a>
           <a href="index.php?page=livre&amp;mod_id_ld=' . $donnees['id'] . '">
           <img border="0" src="../images/picture_edit.png" width="16" height="16"></a> '. $donnees['pseudo'] .' à écrit :</legend>
           <label>'. $donnees['message'] .'</label>   
       </fieldset>
    ';
    }
    le probleme vien de cet ligne et je voi pas pourquoi

    Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource in /home/users5/c/chrisl0/www/espace_webmaster/admin/livre.php on line 69

    merci davance pour votre aide

  2. #2
    Membre émérite Avatar de obito
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2008
    Messages
    773
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Janvier 2008
    Messages : 773
    Par défaut
    Bonjour ton WHERE ne va pas

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $requete = mysql_query("UPDATE personnes
                SET pseudo     = '$pseudo', message    = '$message' WHERE mod_id_ld = ' . $id ");
    Il faut écrire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $requete = mysql_query("UPDATE personnes
                SET pseudo     = '$pseudo', message    = '$message' WHERE mod_id_ld = " . $id."");

  3. #3
    Membre confirmé Avatar de chrisl0
    Homme Profil pro
    Par là ;)
    Inscrit en
    Février 2009
    Messages
    136
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Tarn et Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Par là ;)

    Informations forums :
    Inscription : Février 2009
    Messages : 136
    Par défaut
    jai modifier le where mais jai toujour le meme probleme avec la fonction
    Warning: mysql_fetch_object(): je peu mettre autre chose a la place ?

  4. #4
    Membre émérite Avatar de obito
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2008
    Messages
    773
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Janvier 2008
    Messages : 773
    Par défaut
    Tu as fait la même erreur dans ton SELECT:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $requete = mysql_query("SELECT * FROM livre WHERE mod_id_ld = ' . $id ") ;
    Met ca:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $requete = mysql_query("SELECT * FROM livre WHERE mod_id_ld = " . $id. "") ;

  5. #5
    Membre confirmé Avatar de chrisl0
    Homme Profil pro
    Par là ;)
    Inscrit en
    Février 2009
    Messages
    136
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Tarn et Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Par là ;)

    Informations forums :
    Inscription : Février 2009
    Messages : 136
    Par défaut
    je lai changer en meme temp mais pareil tojour la meme erreur

  6. #6
    Membre chevronné Avatar de binouzzz19
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    385
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2007
    Messages : 385
    Par défaut
    Avec mysql_fetch_object, il faut mettre ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <label for="pseudo">Pseudo</label> <input name="pseudo_ld" size="20" value="'.$result->pseudo.'" /><br />
                <label for="message">Message</label><br />
                <textarea name="message_ld" rows="8" cols="35">'.$result->message.'</textarea><br />
                <input type="HIDDEN" name=id_dl" value="'.$result->id.'"> 
                <input type="submit" name="envoyer_ld" value="Modifier"/>
    sinon utilise mysql_fetch_array

    Cordialement

  7. #7
    Membre émérite Avatar de obito
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2008
    Messages
    773
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Janvier 2008
    Messages : 773
    Par défaut
    ok, essaie de remplacer ca:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $result = mysql_fetch_object($requete)
    Par ca :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $result = mysql_fetch_assoc($requete)
    Par ailleurs question bête, mais il n'y qu'a qu'un résultat retourné non? Pourquoi un while? Juste faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    $result=mysql_fetch_assoc($requete);
    echo '
          <fieldset>
                 <form name="livre" method="post" action="index.php?page=livre">
            <p>
                <label for="pseudo">Pseudo</label> <input name="pseudo_ld" size="20" value="'.$result['pseudo'].'" /><br />
                <label for="message">Message</label><br />
                <textarea name="message_ld" rows="8" cols="35">'.$result['message'].'</textarea><br />
                <input type="HIDDEN" name=id_dl" value="'.$result['id'].'"> 
                <input type="submit" name="envoyer_ld" value="Modifier"/>
            </p>
        </form>   
       </fieldset> ';

  8. #8
    Membre confirmé Avatar de chrisl0
    Homme Profil pro
    Par là ;)
    Inscrit en
    Février 2009
    Messages
    136
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Tarn et Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Par là ;)

    Informations forums :
    Inscription : Février 2009
    Messages : 136
    Par défaut
    oui il y a qu'un resulta jai essayer un if mais sa me donnai la meme erreur

    bon jai essayer avec assoc et sans le while sa maffiche le tableau mais sa me dit que Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result

    binouzzz19
    jai essayer comme tu a dit mais sa m'affiche toujours la meme erreur

  9. #9
    Membre émérite Avatar de obito
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2008
    Messages
    773
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Janvier 2008
    Messages : 773
    Par défaut
    Ok donc faut voir si tu récupère bien le $_GET.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    echo "L'id recupéré : ".$id;
    $requete = mysql_query("SELECT * FROM livre WHERE mod_id_ld = " . $id. "") or die(mysql_error()) ;
    Pour le mysql_error ça te dira l'erreur au niveau de la requête

  10. #10
    Membre chevronné Avatar de binouzzz19
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    385
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2007
    Messages : 385
    Par défaut
    Regarde 2 posts plus haut (enfin 3 maintenant)

  11. #11
    Membre confirmé Avatar de chrisl0
    Homme Profil pro
    Par là ;)
    Inscrit en
    Février 2009
    Messages
    136
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Tarn et Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Par là ;)

    Informations forums :
    Inscription : Février 2009
    Messages : 136
    Par défaut
    binouzzz19 regarde 3 post plus haut jai essayer mais sa fonctionne pas toujours la meme erreur

    et pour le echo oui sa recupere bien la valeur de l'id et mysql_errore() me marque Unknown column 'mod_id_ld' in 'where clause'

    jai modifier mod_id_ld par id
    et sa fonctionne mais sa me modifie rien sa me marque

    La modification à échouée

  12. #12
    Membre émérite Avatar de obito
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2008
    Messages
    773
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Janvier 2008
    Messages : 773
    Par défaut
    Ben voila la réponse tu fait un where sur une colonne qui n'existe pas

  13. #13
    Membre confirmé Avatar de chrisl0
    Homme Profil pro
    Par là ;)
    Inscrit en
    Février 2009
    Messages
    136
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Tarn et Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Par là ;)

    Informations forums :
    Inscription : Février 2009
    Messages : 136
    Par défaut
    Citation Envoyé par chrisl0 Voir le message
    binouzzz19 regarde 3 post plus haut jai essayer mais sa fonctionne pas toujours la meme erreur

    et pour le echo oui sa recupere bien la valeur de l'id et mysql_errore() me marque Unknown column 'mod_id_ld' in 'where clause'

    jai modifier mod_id_ld par id
    et sa fonctionne mais sa me modifie rien sa me marque

    La modification à échouée
    je vai voir plus bas pour linsertion de la modif

    bon jai fai modifier update par sa

    $requete = mysql_query("UPDATE personnes
    SET pseudo = '$pseudo', message = '$message' WHERE id = " . $id."") or die(mysql_error()) ;

    et sa me marque
    You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 2

  14. #14
    Membre émérite Avatar de obito
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2008
    Messages
    773
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Janvier 2008
    Messages : 773
    Par défaut
    N'oublie sur chacune de tes requete de mettre par exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $requete = mysql_query("UPDATE personnes
                SET pseudo     = '$pseudo', message    = '$message' WHERE id = " . $id. "") or die(mysql_error());
    Ainsi tu aura l'erreur au niveau de la requete

  15. #15
    Membre confirmé Avatar de chrisl0
    Homme Profil pro
    Par là ;)
    Inscrit en
    Février 2009
    Messages
    136
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Tarn et Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Par là ;)

    Informations forums :
    Inscription : Février 2009
    Messages : 136
    Par défaut
    Citation Envoyé par chrisl0 Voir le message
    je vai voir plus bas pour linsertion de la modif

    bon jai fai modifier update par sa

    $requete = mysql_query("UPDATE personnes
    SET pseudo = '$pseudo', message = '$message' WHERE id = " . $id."") or die(mysql_error()) ;

    et sa me marque
    You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 2
    c'est se que jai fait


    bon dejai je me suis tromper dans le nom de la table je lai modif

    ensuite a la place de sa " . $id." jai mi sa ' . $id.' maintenant sa me dit que la modif a ete faite
    mais sa modif rien lol truc de fou

  16. #16
    Membre émérite Avatar de obito
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2008
    Messages
    773
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Janvier 2008
    Messages : 773
    Par défaut
    BOn déjà il ne faut pas oublier d'échapper les apostrophes aussi tu pourrais faire :

    $requete = mysql_query("UPDATE personnes SET pseudo ='$pseudo', message='".addslashes($message)."' WHERE id = ". $id."") or die(mysql_error());

    Sachant qu'il ne faudra pas oublier de faire stripslashes au moment de l'affichage.

  17. #17
    Membre chevronné Avatar de binouzzz19
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    385
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2007
    Messages : 385
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $requete = mysql_query("UPDATE personnes
                SET pseudo     = '".$pseudo."', message    = '".$message."' WHERE id = " . $id. "") or die(mysql_error());

  18. #18
    Membre confirmé Avatar de chrisl0
    Homme Profil pro
    Par là ;)
    Inscrit en
    Février 2009
    Messages
    136
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Tarn et Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Par là ;)

    Informations forums :
    Inscription : Février 2009
    Messages : 136
    Par défaut
    Citation Envoyé par chrisl0 Voir le message
    c'est se que jai fait


    bon dejai je me suis tromper dans le nom de la table je lai modif

    ensuite a la place de sa " . $id." jai mi sa ' . $id.' maintenant sa me dit que la modif a ete faite
    mais sa modif rien lol truc de fou
    jai fait toutes les modif que vous mavez dit mais c'est pareil

  19. #19
    Membre confirmé Avatar de chrisl0
    Homme Profil pro
    Par là ;)
    Inscrit en
    Février 2009
    Messages
    136
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Tarn et Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Par là ;)

    Informations forums :
    Inscription : Février 2009
    Messages : 136
    Par défaut
    bon jai regler mon probleme il venai de la name="id_dl" et je lai changer par name="id_ld" et sa fonctionne merci a vous binouzzz19 et obito

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

Discussions similaires

  1. [AC-2003] récupérer une donnée à un endroit précis dans une table
    Par justine' dans le forum VBA Access
    Réponses: 3
    Dernier message: 12/04/2011, 17h39
  2. Réponses: 2
    Dernier message: 24/11/2010, 18h06
  3. [AC-2003] Récupérer une donnée dans une table
    Par denisw95 dans le forum Requêtes et SQL.
    Réponses: 5
    Dernier message: 14/08/2009, 11h45
  4. [Toutes versions] Question simple: Récupérer une donnée dans une table
    Par Skootman dans le forum VBA Access
    Réponses: 6
    Dernier message: 14/04/2009, 15h28
  5. Réponses: 1
    Dernier message: 18/04/2006, 23h16

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