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 résultat requete dans une liste en html [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre actif Avatar de maxeur
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    416
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 416
    Points : 267
    Points
    267
    Par défaut Afficher résultat requete dans une liste en html
    Bonjour à tous

    Je vais vous expliquer ce que j'aimerai faire

    J'ai une liste déroiulante fais dans un formulaire html et je voulais savoir si c'était possible que les valeurs affichées soient les résulats d'une requête SQL.

    Voila ce que j'ai fais mais cela ne marche pas

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <p><h2>Catégorie :<br><br>
    		<select name="categorie" size="1">
    		<option selected value="0">- Choisir - </option>
     
    		<?php
    		//Connection à la base de donnée de redmine
    		$conn2=mysql_connect('localhost','root','',true) or die('Probleme lors de la connexion a la BD MYSQL');
    		mysql_select_db('amr',$conn2) or die('Problème lors de la sélection de la BD MYSQL');
    		$req_cat=mysql query("select name from issue_categories group by name",$conn2) or die ("La requete a echoue");
    		while ($row=mysql_fetch_object($req_cat)){
    		echo "<option value='$row->name'>'$row->name'</option>";
    		?>
    		</select></h2></p>
    Est ce que c'est possible ?? Si c'est possible comment dois je faire ??

    Merci d'avance pour vos réponses

  2. #2
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Points : 12 977
    Points
    12 977
    Par défaut
    Logiquement, c'est parfaitement faisable. Ce qui ne doit pas aller, c'est mysql_fetch_object + un mix entre les " et '. Tu fais plus classique avec mysql_fetch_assoc (attention : non testé) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <p><h2>Catégorie :<br><br>
    		<select name="categorie" size="1">
    		<option selected value="0">- Choisir - </option>
    		<?php
    		//Connection à la base de donnée de redmine
    		$conn2=mysql_connect('localhost','root','',true) or die('Probleme lors de la connexion a la BD MYSQL');
    		mysql_select_db('amr',$conn2) or die('Problème lors de la sélection de la BD MYSQL');
    		$req_cat=mysql query("select name from issue_categories group by name",$conn2) or die ("La requete a echoue");
    		while ($row=mysql_fetch_assoc($req_cat)){
    		echo "<option value='".$row["name"]."'>".$row["name"]."</option>";
    		?>
    		</select></h2></p>

    Du détail, du détail, du détail !!!
    Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute

  3. #3
    Membre actif Avatar de maxeur
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    416
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 416
    Points : 267
    Points
    267
    Par défaut
    Merci pour ta réponse
    Je vien de faire ce que tu m'as dis mais cela fait toujours la meme chose, rien ne s'affiche dans ma liste je ne vois pas pourquoi

    Je vais creuser et je vais voir ou cela me mene

  4. #4
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Points : 12 977
    Points
    12 977
    Par défaut
    Regarde le code source HMTL : du mauvais code HTML a pu être généré. Dans ce cas, ce n'est souvent qu'une histoire de balise fermante mal placée ou manquante, ça devrait être facile à corriger.

    Du détail, du détail, du détail !!!
    Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute

  5. #5
    Membre actif Avatar de maxeur
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    416
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 416
    Points : 267
    Points
    267
    Par défaut
    C'est ce que j'ai vu mais avec la journée derrieère moi j'ai du mal à débuguer je pense que je vais voir ça demain en me levant

    En regardant mon code source j'ai vu que mon php n'était pas interprété

  6. #6
    Membre expérimenté Avatar de riete
    Homme Profil pro
    DevWeb - Oléiculteur
    Inscrit en
    Avril 2006
    Messages
    1 193
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : DevWeb - Oléiculteur
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 193
    Points : 1 414
    Points
    1 414
    Par défaut
    Salut Maxeur,
    Primo, "$row=mysql_fetch_object" cette commande fonctionne très bien. Mais par contre, vu le nom de ta variable "$row", j'espère que tu ne fais pas une confusion entre row qui est en général un tableau de variable reçu avec mysql_fetch_array et mysql_fetch_object qui comme son nom l'indique renvoye un objet

    Secundo, tu as une erreur de syntaxe avec tes quotes ici:
    Citation Envoyé par maxeur Voir le message
    echo "<option value='$row->name'>'$row->name'</option>";
    Ecris plutôt:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo "<option value='".$row->name'".>".$row->name."</option>";
    Tersio, pour des raisons de lisibilité, je mettrais les appels à la BD à l'extérieur des balises SELECT, comme ceci: (ce code fonctionne):
    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
    <?php
    		//Connection à la base de donnée de redmine
    		$conn2=mysql_connect('localhost','root','',true) or die('Probleme lors de la connexion a la BD MYSQL');
    		mysql_select_db('amr',$conn2) or die('Problème lors de la sélection de la BD MYSQL');
    ?>
    <select name="categorie" size="1">
      <option selected value="0">- Choisir - </option>
    <?php
      $SQLQuery="select name from issue_categories group by name";
      $result = mysql_query($SQLQuery, $connection) or die ("La requete a echoue");
     
    			while ($t = mysql_fetch_object($result)) {
     
    				echo "<option";								
    				echo " value=\"".$t->name]."\">".$t->name."</option>\n";
    			}
    ?>
    </select>
    ----
    L'avenir appartient à ceux dont les salariés se lèvent tôt.

  7. #7
    Membre actif Avatar de maxeur
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    416
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 416
    Points : 267
    Points
    267
    Par défaut
    Merci pour ta réponse, J'ai appliqué ce que tu m'as dit au niveau du secundo et j'ai modifié là où je plaçait mes balises php. J'ai du les placer en dehors de ma liste sinon cela posait soucis

    Merci beaucoup pour vos réponses cela fonctionne enfin

  8. #8
    Membre expérimenté Avatar de riete
    Homme Profil pro
    DevWeb - Oléiculteur
    Inscrit en
    Avril 2006
    Messages
    1 193
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : DevWeb - Oléiculteur
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 193
    Points : 1 414
    Points
    1 414
    Par défaut
    Je viens de m'apercevoir que j'avais fait une erreur dans ce que je t'avais proposé, mais il me semble que tu as rectifié de toi même AU lieu de:
    echo "<option value='".$row->name'".>".$row->name."</option>";
    Il fallait
    echo "<option value='".$row->name"'.>".$row->name."</option>";
    Un quote qui se baladait
    ----
    L'avenir appartient à ceux dont les salariés se lèvent tôt.

  9. #9
    Membre actif Avatar de maxeur
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    416
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 416
    Points : 267
    Points
    267
    Par défaut
    Je ne vois pas de différences entre les deux lignes, Je vois d'où venait l'erreur.

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 29/04/2015, 15h17
  2. afficher 2 champs dans une liste deroulante
    Par wave95 dans le forum SharePoint
    Réponses: 1
    Dernier message: 16/11/2007, 15h56
  3. Pas d'affiche d'items dans une list box
    Par breezer911 dans le forum Windows Forms
    Réponses: 1
    Dernier message: 08/03/2007, 17h06
  4. Afficher résultat requete dans Excel depuis Access.
    Par nighthawksf117a dans le forum Access
    Réponses: 1
    Dernier message: 12/04/2006, 23h18
  5. Réponses: 6
    Dernier message: 27/09/2005, 16h19

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