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

Langage PHP Discussion :

php/mysql affichage d'un résultats d'un <option>


Sujet :

Langage PHP

  1. #1
    Modérateur

    Avatar de kOrt3x
    Homme Profil pro
    Technicien Informatique/Webmaster
    Inscrit en
    Septembre 2006
    Messages
    3 650
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Technicien Informatique/Webmaster
    Secteur : Santé

    Informations forums :
    Inscription : Septembre 2006
    Messages : 3 650
    Points : 15 771
    Points
    15 771
    Par défaut php/mysql affichage d'un résultats d'un <option>
    Bonjour,

    Pouvez-vous m'aider ? je souhaite afficher le contenu d'une requete dans une page de ma page via un choix dans un menu déroulant.
    Voici ce que j'ai déjà fait :

    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
    <html>
        <head>
            <title><? echo $titre_fenetre;?></title>        
        </head>
        <body>
            <center>
                <h1><? echo $titre_page;?></h1>
                <p><? echo $sous_titre;?></p>
     
            <form method="post">
            <p>
            <select>
                <?php
                    $connectionSQL;
                    $selectionDB;
     
                    //mysql_query("INSERT INTO $nom_table VALUES ('','TEST DE TITRE','TEST DE CONTENU')") or mysql_error();
                    $liste=mysql_query("SELECT * FROM $nom_table") or mysql_error();
                    while ($resultat=mysql_fetch_array($liste)){
                          echo "<option value=" .$resultat['ID']. ">".$resultat['ID'].") " .$resultat['Titre']."</option>\n";
     
                    }
     
            echo '</select><input type="submit" value="Choisir" /></p></form><hr style="width: 100%; height: 2px;"></center>';
            echo "resultat ID :" .$resultat['ID'];
            echo "<br>resultat Titre : " .$resultat['Titre'];
            echo "<br>resultat : " .$resultat;
            echo "<br>Liste : " .$liste;
     
            mysql_close();
        ?>            
        </body>
    </html>
    Et j'obtiens ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    resultat ID :
    resultat Titre : 
    resultat : 
    Liste : Resource id #3
    Comment faire pour afficher le contenu après avoir cliquer sur le bouton "choisir" ?
    La rubrique Mac
    Les cours & tutoriels Mac
    Critiques de Livres Mac & iOS
    FAQ Mac & iOS

    ________________________________________________________________________
    QuickEvent : Prise de rendez-vous rapide pour iPhone/iPad et iPod Touch (AppStore)
    Mon Livre sur AppleScript : AppleScript: L'essentiel du langage et de ses applications

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Il faut déjà que ton <select> ait un attribut "name"
    Ensuite il faut une requete qui utilise la valeur choisie dans cette liste :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $sql = "SELECT * FROM $nom_table WHERE ID = " . intval($_POST['toto']);
    Executer cette requete et en afficher les champs.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Modérateur

    Avatar de kOrt3x
    Homme Profil pro
    Technicien Informatique/Webmaster
    Inscrit en
    Septembre 2006
    Messages
    3 650
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Technicien Informatique/Webmaster
    Secteur : Santé

    Informations forums :
    Inscription : Septembre 2006
    Messages : 3 650
    Points : 15 771
    Points
    15 771
    Par défaut
    ok, j'ai donc rajouter dans la balise <select name="menu"> et ajouté la requete :

    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
    <select name="menu">
                <?php
                    $connectionSQL;
                    $selectionDB;
     
                    //mysql_query("INSERT INTO $nom_table VALUES ('','TEST DE TITRE','TEST DE CONTENU')") or mysql_error();
                    $liste=mysql_query("SELECT * FROM $nom_table") or mysql_error();
                    while ($resultat=mysql_fetch_array($liste)){
                          echo "<option value=" .$resultat['ID']. ">".$resultat['ID'].") " .$resultat['Titre']."</option>\n";
     
                    }
     
            echo '</select><input type="submit" value="Choisir" /></p></form><hr style="width: 100%; height: 2px;"></center>';
            echo "resultat ID :" .$resultat['ID'];
            echo "<br>resultat Titre : " .$resultat['Titre'];
            echo "<br>resultat : " .$resultat;
            echo "<br>Liste : " .$liste;
            $sql = mysql_query("SELECT * FROM $nom_table WHERE ID = " . intval($_POST['menu']));
            echo $sql;
            echo $sql;
            echo $sql['ID'];
            echo $sql['Titre'];
            mysql_close();
        ?>
    Mais pourquoi j'obtiens toujours ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    resultat ID :
    resultat Titre : 
    resultat : 
    Liste : Resource id #3Resource id #4Resource id #4
    A quoi ça correspond "Resource id #xx" ?
    La rubrique Mac
    Les cours & tutoriels Mac
    Critiques de Livres Mac & iOS
    FAQ Mac & iOS

    ________________________________________________________________________
    QuickEvent : Prise de rendez-vous rapide pour iPhone/iPad et iPod Touch (AppStore)
    Mon Livre sur AppleScript : AppleScript: L'essentiel du langage et de ses applications

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    625
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 625
    Points : 822
    Points
    822
    Par défaut
    Ressource id #truc correspond à l'identifiant de ressource renvoyée par ton mysql_query stocké dans $liste.

    Le soucis se pose au niveau du fetch de cette ressource apparemment.

    Tu es sûr que ta variable $nom_table est bien définie et qu'elle donne le bon nom de table ? Ou alors que les champs recherchés existent bien dans cette table (attention à la casse pour les clés) ?

    Afficher les messages d'erreur serait peut-être une bonne solution pour déboguer le truc. Ainsi que quelques print_r pour s'assurer de ce que tu reçois.
    Pourfendeur de singletons en croisade

  5. #5
    Modérateur

    Avatar de kOrt3x
    Homme Profil pro
    Technicien Informatique/Webmaster
    Inscrit en
    Septembre 2006
    Messages
    3 650
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Technicien Informatique/Webmaster
    Secteur : Santé

    Informations forums :
    Inscription : Septembre 2006
    Messages : 3 650
    Points : 15 771
    Points
    15 771
    Par défaut
    Citation Envoyé par Petibidon Voir le message
    Ressource id #truc correspond à l'identifiant de ressource renvoyée par ton mysql_query stocké dans $liste.

    Le soucis se pose au niveau du fetch de cette ressource apparemment.

    Tu es sûr que ta variable $nom_table est bien définie et qu'elle donne le bon nom de table ? Ou alors que les champs recherchés existent bien dans cette table (attention à la casse pour les clés) ?

    Afficher les messages d'erreur serait peut-être une bonne solution pour déboguer le truc. Ainsi que quelques print_r pour s'assurer de ce que tu reçois.
    oui, ma table est bien renseignée, puisque j'arrive bien à afficher mon ID et Titre dans mon menu déroulant.
    La rubrique Mac
    Les cours & tutoriels Mac
    Critiques de Livres Mac & iOS
    FAQ Mac & iOS

    ________________________________________________________________________
    QuickEvent : Prise de rendez-vous rapide pour iPhone/iPad et iPod Touch (AppStore)
    Mon Livre sur AppleScript : AppleScript: L'essentiel du langage et de ses applications

  6. #6
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    Peut-être que récupérer les valeurs renvoyées par la requête serait une bonne idée
    Exploitation de la ressource
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  7. #7
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    625
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 625
    Points : 822
    Points
    822
    Par défaut
    A y réfléchir après coup, y'à de la logique à tout ça


    Comme l'a dit Celira, tu ne fetche pas $sql, donc c'est normal, ça te renvoie ressource id #4.

    pour cette partie là :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
            echo "resultat ID :" .$resultat['ID'];
            echo "<br>resultat Titre : " .$resultat['Titre'];
            echo "<br>resultat : " .$resultat;
            echo "<br>Liste : " .$liste;
    Pour ce qui est de $liste, c'est ta ressource de mysql_query, donc ressource id #3

    et pour $résultat, en fait lorsque tu fetche une ressource ($liste), la fonction mysql_fetch_* renvoie false lorsqu'il n'y a plus de résultat. Donc au sortir de ta boucle, $resultat vaut false et echo false n'affiche rien.
    Pourfendeur de singletons en croisade

  8. #8
    Modérateur

    Avatar de kOrt3x
    Homme Profil pro
    Technicien Informatique/Webmaster
    Inscrit en
    Septembre 2006
    Messages
    3 650
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Technicien Informatique/Webmaster
    Secteur : Santé

    Informations forums :
    Inscription : Septembre 2006
    Messages : 3 650
    Points : 15 771
    Points
    15 771
    Par défaut
    J'ai refait mon code, mais c'est toujours pareil :
    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
    <?php
    function choixParDefaut($menu) 
    {
    $par_defaut = ''; 
     
        if (isset($_POST['menu'])) 
        {
            if ($_POST['menu'] == $menu)
            {
                $par_defaut='selected="selected"'; 
            }
        }
     
    return $par_defaut; // On ne retourne rien si ce n'était pas la couleur choisie, selected si c'était la bonne couleur
    }
     
        $connectionSQL;
        $selectionDB;
        $liste=mysql_query("SELECT * FROM $nom_table") or die (mysql_error());
    ?>
    <form method="post">
        <p>
            <select name="menu">
            <? 
                while ($resultat=mysql_fetch_array($liste) or mysql_error()){
                      echo "<option value=" .$resultat['ID']. " >".$resultat['ID'].") " .$resultat['Titre']."</option>\n";
                    }
               echo '
               </select>
               <input type="submit" value="Choisir" /></p>
        </p>
    </form>
    <center>
        <hr style="width: 100%; height: 2px;">
    </center>';
     
            if (isset($_POST['menu'])) 
            {
            $sql_contenu="SELECT Contenu FROM $nom_table WHERE ID =".$_POST['menu'];
            $contenu=mysql_query($sql_contenu);
     
            echo "ID : ".$_POST['menu'];
            echo "<br>Contenu : " .$contenu;
     
            }
        mysql_close($connectionSQL);
    ?>
        </body>
    </html>
    Pourquoi ?
    La rubrique Mac
    Les cours & tutoriels Mac
    Critiques de Livres Mac & iOS
    FAQ Mac & iOS

    ________________________________________________________________________
    QuickEvent : Prise de rendez-vous rapide pour iPhone/iPad et iPod Touch (AppStore)
    Mon Livre sur AppleScript : AppleScript: L'essentiel du langage et de ses applications

  9. #9
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    Parce que tu n'as pas lu le tutoriel qui explique que myqsl_query renvoie une ressource, qu'il faut exploiter par mysql_fetch_xxxxx ou une autre fonction type mysql_result ou mysql_num_rows...
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

Discussions similaires

  1. [Apache - Php -MySQL] Affichage incomplet des pages
    Par Tidalf dans le forum Apache
    Réponses: 8
    Dernier message: 29/09/2006, 17h13
  2. Affichage complexe(?) PHP-MySQL
    Par Lypertrophie dans le forum Requêtes
    Réponses: 2
    Dernier message: 05/09/2006, 10h05
  3. [PHP/MySQL] Solution d'affichage image et vidéo
    Par cnguyen dans le forum Administration
    Réponses: 6
    Dernier message: 16/08/2006, 13h41
  4. Réponses: 2
    Dernier message: 02/12/2005, 21h21
  5. Réponses: 1
    Dernier message: 02/12/2005, 20h18

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