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 :

Afficher une valeur [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre actif Avatar de kevinf
    Profil pro
    Développeur informatique
    Inscrit en
    Juin 2005
    Messages
    863
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2005
    Messages : 863
    Points : 225
    Points
    225
    Par défaut Afficher une valeur
    Salut,
    j'ai ce 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
    <html>
     
    <body>
    <?php
    $connexion = mysql_connect("","","");
    $db = mysql_select_db("recherche", $connexion); 
    $requete = "SELECT * FROM forum_sujets WHERE id='.$numero_du_sujet.' ";
    $result = mysql_query ($requete);
    $r = mysql_fetch_object ($result);?>
     
      <form name="form2" method="post" action="forum_titre2.php">
      <table width="363" border="0">
        <tr>
          <td width="172">Titre : </td>
          <td width="181"><input name="titre" type="text"   id="titre" value="<?php  print ($r -> titre ); ?>">
            </td>
        </tr>
       <?php echo $numero_du_sujet; ?>
     
    <tr>
          <td>Modifier : </td>
          <td><input type="submit" name="Submit" value="Modifer"></td>
        </tr>
      </table></form>
    </body>
    </html>
    Qui est censé afficher dans l'input texte, la valeur 'titre' qui a été selectionné avec le SELECT, mais rien. D'où vient l'erreur?

    Merci

    ps: Il n'y a aucun message d'erreur.
    KevinF

  2. #2
    Membre expérimenté

    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    1 278
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 1 278
    Points : 1 639
    Points
    1 639
    Par défaut
    Ta requête est fausse.
    Question : quand coderas-tu en tenant compte de nos conseils ?
    Du style :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $result=mysql_query($sql) or die('Erreur SQL<br />Requête : '.$sql.'<br />Message d\'erreur : '.mysql_error());

  3. #3
    Membre éprouvé
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    1 012
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 1 012
    Points : 1 093
    Points
    1 093
    Par défaut
    Citation Envoyé par kevinf
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $requete = "SELECT * FROM forum_sujets WHERE id='.$numero_du_sujet.' ";
    Ne crois-tu pas qu'il y a confusion entre simples et doubles guillemets ?

  4. #4
    Membre actif Avatar de kevinf
    Profil pro
    Développeur informatique
    Inscrit en
    Juin 2005
    Messages
    863
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2005
    Messages : 863
    Points : 225
    Points
    225
    Par défaut
    VG> J'ai eu cette réponse :
    Erreur SQL
    Requête :
    Message d'erreur : Query was empty
    Mais je ne vois pas ce qui est vide.

    francis > les guillemets?
    KevinF

  5. #5
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    Points : 20 778
    Points
    20 778
    Par défaut
    C'est pourtant clair, je vais traduire pour toi :
    Query was empty
    donne
    La requête était vide
    Donc au final problème de requête...Tu vois simple, non ?

    Maintenant on se tourne vers ta requête :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $requete = "SELECT * FROM forum_sujets WHERE id='.$numero_du_sujet.' ";
    et on voit que c'est pas trop correct. Il y a une concaténation là où il devrait pas en avoir, ce qui fait que l'on devrait avoir une requête comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $requete = "SELECT * FROM forum_sujets WHERE id='$numero_du_sujet'";
    Maintenant j'espère que le paramètre que tu considère comme id n'est pas nul sinon ce sera le même résultat

    Comme quoi les messages d'erreur apportent beaucoup d'informations, et même si c'est en anglais c'est pas insurmontable (il y a encore la possibilité de prendre un dico ou google traduction )

  6. #6
    Membre actif Avatar de kevinf
    Profil pro
    Développeur informatique
    Inscrit en
    Juin 2005
    Messages
    863
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2005
    Messages : 863
    Points : 225
    Points
    225
    Par défaut
    Donc, j'ai mis sa, et j'ai la même erreur :
    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
    <html>
     
    <body>
    <?php
    $connexion = mysql_connect("*","*","*");
    $db = mysql_select_db("recherche", $connexion); 
    $requete = "SELECT * FROM forum_sujets WHERE id='$numero_du_sujet' ";
    $result = mysql_query ($requete);
    $r = mysql_fetch_object ($result);
    $result=mysql_query($sql) or die('Erreur SQL<br />Requête : '.$sql.'<br />Message d\'erreur : '.mysql_error());
    ?>
     
      <form name="form2" method="post" action="forum_titre2.php">
      <table width="363" border="0">
        <tr>
          <td width="172">Titre : </td>
          <td width="181"><input name="titre" type="text"   id="titre" value="<?php  print ($r -> titre ); ?>" />
            </td>
        </tr>
       <?php echo $numero_du_sujet; ?>
     
    <tr>
          <td>Modifier : </td>
          <td><input type="submit" name="Submit" value="Modifer"/></td>
        </tr>
      </table></form>
    </body>
    </html>
    En fait numéro_du_sujet c'est une variable que je fait passer dans l'url du type: ?numero_du_sujet=11
    KevinF

  7. #7
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    Points : 20 778
    Points
    20 778
    Par défaut
    Dans ce cas où est l'appel à la variable global $_GET ??
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $_GET['numero_du_sujet']

  8. #8
    Membre actif Avatar de kevinf
    Profil pro
    Développeur informatique
    Inscrit en
    Juin 2005
    Messages
    863
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2005
    Messages : 863
    Points : 225
    Points
    225
    Par défaut
    Parce que d'habitude ca marche sans, donc j'ai mi :
    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
    <html>
     
    <body>
    <?php
    $_GET['numero_du_sujet'];
    $connexion = mysql_connect("*","*","*");
     
    $db = mysql_select_db("recherche", $connexion); 
    $requete = "SELECT * FROM forum_sujets WHERE id='$numero_du_sujet' ";
    $result = mysql_query ($requete);
    $r = mysql_fetch_object ($result);
    $result=mysql_query($sql) or die('Erreur SQL<br />Requête : '.$sql.'<br />Message d\'erreur : '.mysql_error());
    ?>
     
      <form name="form2" method="post" action="forum_titre2.php">
      <table width="363" border="0">
        <tr>
          <td width="172">Titre : </td>
          <td width="181"><input name="titre" type="text"   id="titre" value="<?php  print ($r -> titre ); ?>" />
            </td>
        </tr>
       <?php echo $numero_du_sujet; ?>
     
    <tr>
          <td>Modifier : </td>
          <td><input type="submit" name="Submit" value="Modifer"/></td>
        </tr>
      </table></form>
    </body>
    </html>
    Et toujours le message d'erreur...
    KevinF

  9. #9
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    Points : 20 778
    Points
    20 778
    Par défaut
    Alors là je crois que je vais aller dormir

    Premièrement ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <?php echo $numero_du_sujet; ?>
    devrait te dire si oui ou non tu récupères bien ta variable.
    Ensuite ton
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $_GET['numero_du_sujet'];
    ne marchera pas si tu l'affectes pas à
    $numero_du_sujet

    Et puis il y aurait pas un problème là :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $result = mysql_query ($requete);
    $r = mysql_fetch_object ($result);
    $result=mysql_query($sql) or die('Erreur SQL<br />Requête : '.$sql.'<br />Message d\'erreur : '.mysql_error());
    Il faut faire un choix entre le premier et le dernier. et déplacer le $r

    Ah oui dernière chose très très importante : Il faut pas recopier texto tout ce qu'on te donne, ce sont parfois des exemples et qu'il faut que TU adaptes à TON code, sinon ca marchera jamais.

  10. #10
    Membre actif Avatar de kevinf
    Profil pro
    Développeur informatique
    Inscrit en
    Juin 2005
    Messages
    863
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2005
    Messages : 863
    Points : 225
    Points
    225
    Par défaut
    Ok, donc :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <?php
     
    $connexion = mysql_connect("","","");
    $db = mysql_select_db("recherche", $connexion); 
    $requete = "SELECT * FROM forum_sujets WHERE id='$_GET['numero_du_sujet']' ";
     
    $result=mysql_query($sql) or die('Erreur SQL<br />Requête : '.$sql.'<br />Message d\'erreur : '.mysql_error());
    $r = mysql_fetch_object ($result);
    ?>
    Et :
    Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING
    KevinF

  11. #11
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    Points : 20 778
    Points
    20 778
    Par défaut
    Ne jamais faire ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    id='$_GET['numero_du_sujet']'
    C'est de là que te vient certainement la parse error

    Ensuite, restont dans la logique :
    Tu définis une requête
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $requete = "SELECT * FROM forum_sujets WHERE id='$_GET['numero_du_sujet']' ";
    Mais tu l'exécute jamais
    Quand à ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $result=mysql_query($sql) or die('Erreur SQL<br />Requête : '.$sql.'<br />Message d\'erreur : '.mysql_error());
    Tu exécutes une requête vide

    Faute d'inattention ??


    Pour finir ce serait beaucoup plus simple de faire ainsi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <?php
     
    $connexion = mysql_connect("","","");
    $db = mysql_select_db("recherche", $connexion); 
    $requete = "SELECT * FROM forum_sujets WHERE id='".$_GET['numero_du_sujet']."'";
    $result=mysql_query($requete) or die('Erreur SQL<br />Requête : '.$requete.'<br />Message d\'erreur : '.mysql_error());
    $r = mysql_fetch_object ($result);
    ?>

  12. #12
    Membre actif Avatar de kevinf
    Profil pro
    Développeur informatique
    Inscrit en
    Juin 2005
    Messages
    863
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2005
    Messages : 863
    Points : 225
    Points
    225
    Par défaut
    Merci, ca fonctionne, mais la suite ne marche pas
    En fait ce code sert donc a modifier le titre :
    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
    <html>
     
    <body>
    <?php
     
    $connexion = mysql_connect("","","");
    $db = mysql_select_db("recherche", $connexion); 
    $requete = "SELECT * FROM forum_sujets WHERE id='".$_GET['numero_du_sujet']."'";
    $result=mysql_query($requete) or die('Erreur SQL<br />Requête : '.$requete.'<br />Message d\'erreur : '.mysql_error());
    $r = mysql_fetch_object ($result);
     
    ?>
     
     
    <?php include('menu.php'); ?>
      <form  method="post" action="forum_titre2.php?numero_du_sujet=<?php echo $_GET['numero_du_sujet']; ?>">
      <table width="363" border="0">
        <tr>
          <td width="172">Titre : </td>
          <td width="181"><input name="titre" type="text"   id="titre" value="<?php  print ($r -> titre ); ?>" />
            </td>
        </tr>
     
     
    <tr>
          <td>Modifier : </td>
          <td><input type="submit" name="Submit" value="Modifer"/></td>
        </tr>
      </table></form>
    </body>
    </html>
    Donc envoyé sur forum_titre2.php :
    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
    <?php
     
    if (isset ($_POST['go']) && $_POST['go']=='Poster') {
     
        if (!isset($_POST['titre']) || !isset($_GET['numero_du_sujet'])) { 
            $erreur = 'Les variables nécessaires au script ne sont pas définies.';
        }
        else {
            if (empty($_POST['titre']) || empty($_GET['numero_du_sujet'])) { 
                $erreur = '<center><strong><font class="texte" ><font color="red">Au moins un des champs est vide.</font></font></strong></center>';
            }
     
            else {
     
                $base = mysql_connect ('', '', ''); 
                mysql_select_db ('recherche', $base) ; 
     
     
               $sql = 'UPDATE forum_sujets SET titre="'.addslashes($_POST['titre']).'" WHERE id='.$_GET['numero_du_sujet'].' ';
     
    mysql_query($sql) or die('Erreur SQL !'.$sql.'<br />'.mysql_error());
     
     
     
     
                 mysql_close();
     
                header('Location: forum_lire_sujet.php?id_sujet_a_lire='.$_GET['numero_du_sujet']);
     
     
                exit;
            }
        }
    }
    ?>
    Mais sur cette page la valeur titre ne se modifie pas et aucun message d'erreur n'apparait, la redirection n'est pas faite, j'ai une page blanche, pourquoi?
    KevinF

  13. #13
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    Points : 20 778
    Points
    20 778
    Par défaut
    Pourquoi une page blanche Euh moi je dirais parce que tu le lui dis de faire du blanc

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if (isset ($_POST['go']) && $_POST['go']=='Poster')
    Compares avec les éléments de ton formulaire. Si tu trouves un élément qui s'appelle go alors là chapeau

  14. #14
    Membre actif Avatar de kevinf
    Profil pro
    Développeur informatique
    Inscrit en
    Juin 2005
    Messages
    863
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2005
    Messages : 863
    Points : 225
    Points
    225
    Par défaut
    Exact, merci de ton aide.

    Résolu.
    KevinF

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

Discussions similaires

  1. [dblookup] afficher une valeur par programmation
    Par let_me_in dans le forum Bases de données
    Réponses: 1
    Dernier message: 11/05/2005, 14h42
  2. [TMS320C31] Afficher une valeur à l'écran
    Par miminou dans le forum Autres architectures
    Réponses: 3
    Dernier message: 17/04/2005, 18h48
  3. [TP] Afficher une valeur avec outtext
    Par Bouilla dans le forum Turbo Pascal
    Réponses: 4
    Dernier message: 06/03/2005, 09h57
  4. Réponses: 3
    Dernier message: 28/01/2004, 14h55
  5. Afficher une valeur du context
    Par [DreaMs] dans le forum XMLRAD
    Réponses: 13
    Dernier message: 28/04/2003, 13h49

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