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 :

contenu de liste deroulante


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Inscrit en
    Janvier 2008
    Messages
    80
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 80
    Points : 53
    Points
    53
    Par défaut contenu de liste deroulante
    Bonjour,
    voici le code que je fais pour mettre le champ nom de ma table dans une liste déroulante.
    il n'ya pas d'erreur, mais ma liste est vide et je ne vois pas ou se situe mon 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
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
            "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
    	<head>
    		<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    		<title>Liste deroulante</title>
    	</head>
    <body>
    <form method="get" action="appel.php">	
    <select  name="nom">
    	<?php
    	$test = @mysqli_connect('localhost', 'ROOT', '', 'test');
    if (!$test) {    die('Connection failed');}
    $query=mysqli_query($test, 'SELECT nom FROM `membres` ');
    while ($row=mysql_fetch_assoc($query))
    { 
    ?>
    <OPTION><?php echo $row[`nom`]; ?></OPTION>
    <?php
    } 
    ?> 
     
     
    </select>
    </form>
     
    </body>
    </html>
    Merci pour un coup de main

  2. #2
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 099
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 099
    Points : 8 208
    Points
    8 208
    Billets dans le blog
    17
    Par défaut
    Ne vois-tu pas des erreurs si tu affiches la source de la page obtenue ?
    Tu utilises les fonctions mysqli_ et mysql_ : passe par la même API
    Sors le max de fonctions du <select>, sinon tu risques de ne pas voir les erreurs PHP
    Un problème exposé clairement est déjà à moitié résolu
    Keep It Smart and Simple

  3. #3
    FoxLeRenard
    Invité(e)
    Par défaut
    Citation Envoyé par manguigs Voir le message
    Bonjour,
    Moi je sécuriserais ainsi:

    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
     
     
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
            "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
    	<head>
    		<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    		<title>Liste deroulante</title>
    	</head>
    <body>
    <form method="get" action="appel.php">	
    <select  name="nom">
    	<?php
    	$test = @mysqli_connect('localhost', 'ROOT', '', 'test');
    if (!$test) {    die('Connection failed');}
    $query=mysqli_query($test, 'SELECT nom FROM `membres` ');
    while ($row=mysql_fetch_assoc($query))
    { 
      $nom= stripslashes($row['nom']);
      if ($nom !="") echo ("<OPTION>".$nom."</OPTION>");
    } 
    ?> 
     
     
    </select>
    </form>
     
    </body>
    </html>

  4. #4
    Membre expert
    Avatar de ThomasR
    Homme Profil pro
    Directeur technique
    Inscrit en
    Décembre 2007
    Messages
    2 230
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2007
    Messages : 2 230
    Points : 3 972
    Points
    3 972
    Par défaut
    Bonjour,

    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
     
     
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
            "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
    	<head>
    		<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    		<title>Liste deroulante</title>
    	</head>
    <body>
    <form method="get" action="appel.php">	
    <select  name="nom">
        <?php
        $test = @mysqli_connect('localhost', 'ROOT', '', 'test') || die('Connection failed');
        $query=mysqli_query($test, 'SELECT nom FROM `membres` ');
        while ($row=mysqli_fetch_assoc($query)){ 
            echo '<option value="'.$row['nom'].'">'.$row['nom'].'</option>';
        } 
        ?> 
    </select>
    </form>
     
    </body>
    </html>
    Citation Envoyé par FoxLeRenard Voir le message
    Moi je sécuriserais ainsi:
    Ca sert a rien de sécuriser un élément affiché. On ne sécurise que lorsque cela va impacter les données, en l'occurence la sécurisation est à faire lors de la validation du formulaire.

  5. #5
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 099
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 099
    Points : 8 208
    Points
    8 208
    Billets dans le blog
    17
    Par défaut
    Ca sert a rien de sécuriser un élément affiché.
    Avec un stripslashes( ) oui (pourquoi stripslashes( ) d'ailleurs ?), avec un htmlspecialchars( ) non
    Un problème exposé clairement est déjà à moitié résolu
    Keep It Smart and Simple

  6. #6
    FoxLeRenard
    Invité(e)
    Par défaut
    Citation Envoyé par ThomasR Voir le message
    Bonjour,
    Ca sert a rien de sécuriser un élément affiché. On ne sécurise que lorsque cela va impacter les données, en l'occurence la sécurisation est à faire lors de la validation du formulaire.
    Tu aimes jouer sur les mots, oui merci j' ais utilisé sécurisé au sens français du terme et non jargon de notre PHP MYSQL

    je voulais dire sécurisé par le if non vide

    Est-ce que je t'ais donné l'habitude de faire de si grosses fautes sauf en orthographe

    Citation Envoyé par Séb. Voir le message
    Avec un stripslashes( ) oui (pourquoi stripslashes( ) d'ailleurs ?), avec un htmlspecialchars( ) non
    Ben dis donc SEB si il a besoins de faire un htmlspecialchars sur des éléments de sabase de données c' est grave
    Dernière modification par 12monkeys ; 21/05/2009 à 22h08. Motif: bien vouloir utiliser le bouton éditer

  7. #7
    Membre du Club
    Inscrit en
    Janvier 2008
    Messages
    80
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 80
    Points : 53
    Points
    53
    Par défaut
    J'ai essayé les différentes methodes que vous m'avez recommandé.
    MAis, ma liste deroulante n'affiche toujours rien.

    ca marche toujours pas

  8. #8
    Membre expert
    Avatar de ThomasR
    Homme Profil pro
    Directeur technique
    Inscrit en
    Décembre 2007
    Messages
    2 230
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2007
    Messages : 2 230
    Points : 3 972
    Points
    3 972
    Par défaut
    Citation Envoyé par manguigs Voir le message
    J'ai essayé les différentes methodes que vous m'avez recommandé.
    MAis, ma liste deroulante n'affiche toujours rien.

    ca marche toujours pas
    Y compris avec le code que j'ai donné ci-dessus (qui prend en compte les corrections de Séb) ?

  9. #9
    FoxLeRenard
    Invité(e)
    Par défaut
    Décidément, j'en avais oublié la moitié

    Donc aprés correction ça devrais marcher !

    NOTES BIEN
    pas de "@" car ça te caches les ereurs !
    pas de name a select

    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
     
     
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
            "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
    	<head>
    		<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    		<title>Liste deroulante</title>
    	</head>
    <body>
    <form method="get" action="appel.php">	
    <select>
    	<?php
    	$test = mysqli_connect('localhost', 'ROOT', '', 'test');
    if (!$test) {    die('Connection failed');}
    $query=mysqli_query($test, 'SELECT nom FROM `membres` ');
    while ($row=mysql_fetch_assoc($query))
    { 
      $nom= stripslashes($row['nom']);
      if ($nom !="") 
    echo ("<OPTION   label='nom' value='".$nom."'>".$nom."</OPTION>");
    } 
    ?> 
     
     
    </select>
    </form>
     
    </body>
    </html>

  10. #10
    Membre expert
    Avatar de ThomasR
    Homme Profil pro
    Directeur technique
    Inscrit en
    Décembre 2007
    Messages
    2 230
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2007
    Messages : 2 230
    Points : 3 972
    Points
    3 972
    Par défaut
    Citation Envoyé par FoxLeRenard Voir le message
    Décidément, j'en avais oublié la moitié

    Donc aprés correction ça devrais marcher !

    NOTES BIEN
    pas de "@" car ça te caches les ereurs !
    pa
    Tu n'as pas pris en compte les modifs suscitées.

  11. #11
    Membre du Club
    Inscrit en
    Janvier 2008
    Messages
    80
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 80
    Points : 53
    Points
    53
    Par défaut
    messieurs, j'ai bel et bien pris vos modifs en compte. et je ne fais que copier coller ce code qui n'affiche toujours rien dans liste deroulante.
    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
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
            "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
    	<head>
    		<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    		<title>Liste deroulante</title>
    	</head>
    <body>
    <form method="get" action="appel.php">	
    <select>
    	<?php
    	$test = mysqli_connect('localhost', 'ROOT', '', 'test');
    if (!$test) {    die('Connection failed');}
    $query=mysqli_query($test, 'SELECT nom FROM `membres` ');
    while ($row=mysql_fetch_assoc($query))
    { 
      $nom= stripslashes($row['nom']);
      if ($nom !="") 
    echo ("<OPTION   label='nom' value='".$nom."'>".$nom."</OPTION>");
    } 
    ?> 
     
     
    </select>
    </form>
     
    </body>
    </html>
    je comprends plus

  12. #12
    FoxLeRenard
    Invité(e)
    Par défaut
    Je penses avant de continuer serait de controler ceci dans un tout petit 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
     
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    </head>
    <body>
    <?php
    $i=1;
    $test = mysqli_connect('localhost', 'ROOT', '', 'test');
    if (!$test) {    die('Connection failed');}
    $query=mysqli_query($test, 'SELECT nom FROM `membres` ');
    while ($row=mysql_fetch_assoc($query))
    { 
      $nom= stripslashes($row['nom']);
      echo ("".$i."");
      if ($nom !="") echo ("".$nom ." <br />");
      echo (" <br />");
      $i++;
     
    ?> 
    </body>
    </html>
    Si tu n' est pas sur de PHP5 utilises MYSQL et non MYSQLI
    Dernière modification par 12monkeys ; 21/05/2009 à 22h11. Motif: bien vouloir utiliser le bouton éditer

  13. #13
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 099
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 099
    Points : 8 208
    Points
    8 208
    Billets dans le blog
    17
    Par défaut
    Ne connaîssant pas MySQLi je vais passer par l'API MySQL.
    Voici un script simple à tester :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <?php
      mysql_connect('localhost', 'ROOT', '') ; // Ou "root" ??
      mysql_select_db('test') ;
      $sql = 'SELECT nom FROM membres' ;
      $rs = mysql_query($sql) or exit(mysql_error( )) ;
    ?>
    <select name="membre">
      <?php while ( $row = mysql_fetch_assoc($rs) ) : ?>
        <option><?php echo htmlspecialchars($row['nom']) ?></option>
      <?php endwhile ?>
    </select>
    Un problème exposé clairement est déjà à moitié résolu
    Keep It Smart and Simple

  14. #14
    Membre du Club
    Inscrit en
    Janvier 2008
    Messages
    80
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 80
    Points : 53
    Points
    53
    Par défaut
    je suis sur php 5

    lorsque je lance ce srcipt que vous venez de me donner pour tester 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
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    </head>
    <body>
    <?php
    $i=1;
    $test = mysqli_connect('localhost', 'ROOT', '', 'test');
    if (!$test) {    die('Connection failed');}
    $query=mysqli_query($test, 'SELECT nom FROM `membres` ');
    while ($row=mysql_fetch_assoc($query))
    { 
      $nom= stripslashes($row['nom']);
      echo ("".$i."");
      if ($nom !="") echo ("".$nom ." <br />");
      echo (" <br />");
      $i++;
     
    ?> 
    </body>
    </html>
    j'ai le message d'erreur suivantarse error: syntax error, unexpected $end in /opt/lampp/htdocs/listes.php on line 21
    voila la ligne 21dans mon éditeur:</html>

  15. #15
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 099
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 099
    Points : 8 208
    Points
    8 208
    Billets dans le blog
    17
    Par défaut
    Sûrement une chaîne mal fermée, une ) manquante ou un truc dans le genre.
    Et si tu testes mon script de 16h19 ??
    Un problème exposé clairement est déjà à moitié résolu
    Keep It Smart and Simple

  16. #16
    Membre du Club
    Inscrit en
    Janvier 2008
    Messages
    80
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 80
    Points : 53
    Points
    53
    Par défaut
    oui seb, votre script est bon
    j'ai quelques choses

  17. #17
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 099
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 099
    Points : 8 208
    Points
    8 208
    Billets dans le blog
    17
    Par défaut
    Voilà, t'as plus qu'à l'immerger dans ta page.
    Un problème exposé clairement est déjà à moitié résolu
    Keep It Smart and Simple

  18. #18
    Membre du Club
    Inscrit en
    Janvier 2008
    Messages
    80
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 80
    Points : 53
    Points
    53
    Par défaut
    A tête reposé, je verrai ce qui manque certainenement dans les autres codes que j'ai pu avoir

    Bien merci à tous!!!

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 19/04/2007, 20h04
  2. Réponses: 4
    Dernier message: 22/01/2007, 19h51
  3. recupération du contenu d"une liste deroulante
    Par moonia dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 25/04/2006, 14h20
  4. modification contenu zone de liste deroulante
    Par Tierisa dans le forum Access
    Réponses: 12
    Dernier message: 23/09/2005, 00h06
  5. contenu d'une liste deroulante
    Par djtoph dans le forum IHM
    Réponses: 11
    Dernier message: 13/06/2005, 16h53

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