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 :

Alimenter la balise SELECT par des données d'une bdd MySQL


Sujet :

PHP & Base de données

  1. #1
    Membre du Club
    Inscrit en
    Mars 2012
    Messages
    165
    Détails du profil
    Informations forums :
    Inscription : Mars 2012
    Messages : 165
    Points : 59
    Points
    59
    Par défaut Alimenter la balise SELECT par des données d'une bdd MySQL
    Bonjour,

    Je veux récupérer une liste de données d'une bdd MySQL, et remplir une liste déroulante; balise select en html; avec ces données là.

    J'essaye avec ce morceau du 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
    <?php 
    			$connect=mysql_connect('localhost','root','');
    			mysql_select_db('phplogin');
    			$villeDepartQuery=mysql_query("SELECT Ville_Depart FROM vols");
    		    $villeArriveeQuery=mysql_query("SELECT Ville_Arrivee FROM vols");
    			$villeDepart = mysql_fetch_row($villeDepartQuery); 
    			$nbr=mysql_num_rows($villeDepartQuery);
     
    			?>
     
     
    <select name="Depart">
    					<?php
    				    while($un_record = mysql_fetch_array($villeDepartQuery))
    					{?>
    						<option value="$un_record[0]">$un_record[0]</option>
     
    					<?php } ?>
     
    				    </select>

    Mais la balise select ne m'affiche rien,

    J'ai besoin de vos renseignements,

    Merci.

  2. #2
    Membre éprouvé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2009
    Messages
    736
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2009
    Messages : 736
    Points : 1 101
    Points
    1 101
    Par défaut
    fait un echo de la variable $nbr pour voir le nombre d'enregistrement retourner.
    A la recherche d'un film : http://chercher-un-film.com

  3. #3
    Membre du Club
    Inscrit en
    Mars 2012
    Messages
    165
    Détails du profil
    Informations forums :
    Inscription : Mars 2012
    Messages : 165
    Points : 59
    Points
    59
    Par défaut
    Quand je fais echo "$nbr"; Il m'affiche 1, c'est correcte car j'ai une seule ligne dans ma table.

  4. #4
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    1/ enlève cette ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $villeDepart = mysql_fetch_row($villeDepartQuery);
    En effet, elle renvoie déjà une ligne de résultat !
    Et comme tu n'en as qu'UN seul !... il n'y a plus rien à afficher dans le while.

    2/ Corrige aussi cette ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    						<option value="<?php echo $un_record[0]; ?>"><?php echo $un_record[0]; ?></option>

  5. #5
    Membre du Club
    Inscrit en
    Mars 2012
    Messages
    165
    Détails du profil
    Informations forums :
    Inscription : Mars 2012
    Messages : 165
    Points : 59
    Points
    59
    Par défaut
    Toujours, aucune donnée n'est affichée

  6. #6
    Expert éminent sénior
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Points : 16 545
    Points
    16 545
    Billets dans le blog
    12
    Par défaut
    Bonsoir,

    Avec ceci, ça devrait rouler :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <?php
       $connect = mysql_connect('localhost','root','');
       mysql_select_db('phplogin');
       $villeDepartQuery  = mysql_query("SELECT Ville_Depart FROM vols");
       $villeArriveeQuery = mysql_query("SELECT Ville_Arrivee FROM vols");
       //$villeDepart = mysql_fetch_row($villeDepartQuery);
       $nbr = mysql_num_rows($villeDepartQuery);
    ?>
    <select name="Depart">
       <?php while($un_record = mysql_fetch_array($villeDepartQuery)): ?>
       <option value="<?php echo $un_record['Ville_Depart']; ?>"><?php echo $un_record['Ville_Depart']; ?></option>
       <?php endwhile; ?>
    </select>
    Par ailleurs, je te déconseille fortement d'utiliser un nom littéral comme valeur de l'attribut value d'autant plus que ce dernier provient de la base et tu ne peux raisonnablement prétendre ne pas avoir des caractères qui pourraient poser problème. Il est généralement bien plus facile de manipuler des id numériques.
    Enfin, il faut que tu penses à échapper à l'affichage les caractères exotiques avec une fonction du genre htmlspecialchars()

  7. #7
    Membre éprouvé Avatar de redoran
    Homme Profil pro
    Développeur-Amateur
    Inscrit en
    Juin 2010
    Messages
    1 346
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur-Amateur
    Secteur : Santé

    Informations forums :
    Inscription : Juin 2010
    Messages : 1 346
    Points : 1 031
    Points
    1 031
    Par défaut
    Salam ; ce que j'utilise:
    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
     
    $sql = 'ta requete';
    $sqlcom=$cbd->prepare($sql);
    $sqlcom->bindParam(':cmotif', $_SESSION['cmotif'], PDO::PARAM_INT);
    $sqlcom->execute();
    // On récupère en 1er toutes les données
    $datacom = $sqlcom->fetchAll(PDO::FETCH_ASSOC);
    // libèré la connexion du serveur
    $sqlcom->closeCursor();
    .................	
    <label>motif :<select name="com" id="com">
    			 <?php
    				foreach ($datacom as $com) 
    				{
    				// on affiche les informations de l'enregistrement en cours
    				echo '<option value="'.$com['cdc'].'">'.$com['com'].'</option>';
     
    				}
     
    			?>
    		</select>
    meme avec une seul ligne t'aura ton affichage , bonne utilisation

  8. #8
    Membre chevronné Avatar de rvtoulon
    Homme Profil pro
    Agent Technique
    Inscrit en
    Mars 2009
    Messages
    1 042
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Agent Technique
    Secteur : Santé

    Informations forums :
    Inscription : Mars 2009
    Messages : 1 042
    Points : 2 003
    Points
    2 003
    Par défaut
    Bonjour à tous,
    perso je fais comme ceci et ça marche très bien même si il n'y a qu'un enregistrement dans ma table:
    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
    <?php
     $connect=mysql_connect('localhost','root','');
     mysql_select_db('phplogin');
     
     $villeDepartQuery=mysql_query("SELECT Ville_Depart FROM vols") or die ("Erreur Requête ville départ");
     $villeArriveeQuery=mysql_query("SELECT Ville_Arrivee FROM vols") or die ("Erreur Requête ville arrivée");
     
     
         echo "<select name='Depart'>";
            while ($row=mysql_fetch_array($villeDepartQuery)) 
             { 
             echo "<option>$row[0]</option>"; 
             } 
         echo "</select>";
     
    ?>
    @+

    Si vous avez trouvé la solution à votre problème n'oubliez pas d'appuyer sur
    Et n'oubliez pas de voter en appuyant sur si ce message a repondu à vos attentes.
    Ou sur si ce n'est pas le cas

  9. #9
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2012
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France, Aveyron (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2012
    Messages : 5
    Points : 5
    Points
    5
    Par défaut
    J'ai le même problème :

    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 
    $db = mysql_connect('127.0.0.1', 'root', '')  or die('Erreur de connexion '.mysql_error());
    mysql_select_db('foot',$db)  or die('Erreur de selection '.mysql_error()); 
    $sql = " SELECT 'nom_club' FROM club"; 
    $result = mysql_query($sql) or die("Requete pas comprise"); 
     
    echo "<form action='add_match.php' method='POST'> 
    <table><tr><td>club 
    <select name='nom_club '>"; 
    while ($row=mysql_fetch_array($result)) 
    { 
    ?>
    <option value="<?php .$row[0].; ?>"><?php .$row['nom_club']; ?></option>
    <option></option>
    <?php
    }
     mysql_close(); 
    ?>
    ça m'affiche, une liste déroulante vierge...

  10. #10
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2010
    Messages
    62
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2010
    Messages : 62
    Points : 50
    Points
    50
    Par défaut
    Salut,
    j'ai regardé vite fait ton code, essaye:

  11. #11
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2012
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France, Aveyron (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2012
    Messages : 5
    Points : 5
    Points
    5
    Par défaut
    Ca change rien j'ai toujours rien,

    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
    </p>
    <?php 
    $db = mysql_connect('127.0.0.1', 'root', '')  or die('Erreur de connexion '.mysql_error());
    mysql_select_db('foot',$db)  or die('Erreur de selection '.mysql_error()); 
    $sql = " SELECT nom_club FROM club"; 
    $req = mysql_query($sql) or die("Requete pas comprise");
     ?>
    <form action='match.php' method='POST'> 
    <table><tr><td>club 
    <select name='nom_club '>
    <?php
    while ($data = mysql_fetch_array($req)) {  
     
    ?>
    <option value="<?php $data['nom_club'];  ?>"><?php  echo $data['nom_club'];  ?></option>
    <option></option>
    <?php
    }
     mysql_free_result ($req);
     mysql_close(); 
    ?>
    <input type="submit" value="Valider" />
    </form>
    par contre j'ai fais une requête qui m'affiche tous les clubs et ça, ça marche :
    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
    <?php 
    $db = mysql_connect('127.0.0.1', 'root', '')  or die('Erreur de connexion '.mysql_error());
    mysql_select_db('foot',$db)  or die('Erreur de selection '.mysql_error()); 
    $sql = " SELECT nom_club FROM club"; 
    $req = mysql_query($sql) or die("Requete pas comprise"); 
     
    // on va scanner tous les tuples un par un
    while ($data = mysql_fetch_array($req)) { 
        // on affiche les résultats
     
          echo $data['nom_club'].'<br />'; 
         }  
     mysql_free_result ($req);  
     mysql_close(); 
    ?>

    Là je suis perdu

  12. #12
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par romrom12 Voir le message
    Ca change rien j'ai toujours rien
    Bonjour,
    ca t'étonne ??
    des balises en trop (<table><tr><td> ?? <option></option> ??), d'autres manquantes,... pas surprenant pourtant !
    Et pour afficher une variable php, on met echo $variable;
    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
    <?php 
    // connexion
    $db = mysql_connect('127.0.0.1', 'root', '')  or die('Erreur de connexion '.mysql_error());
    mysql_select_db('foot',$db)  or die('Erreur de selection '.mysql_error()); 
    // requete
    $sql = "SELECT nom_club FROM club;"; 
    $req = mysql_query($sql) or die("Requete pas comprise");
     ?>
    <form action="match.php" method="post"> 
    <label>club </label>
    <select name="nom_club">
    <?php
    	while ($data = mysql_fetch_array($req)) {  
    ?>
    	<option value="<?php echo $data['nom_club'];  ?>"><?php echo $data['nom_club'];  ?></option>
    <?php
    	} // fin while
    // liberation ressource
    	mysql_free_result ($req);
    // fin connexion
    	mysql_close(); 
    ?>
    </select>
    <input type="submit" value="Valider" />
    </form>
    Va t'acheter des yeux !

  13. #13
    Membre à l'essai
    Inscrit en
    Mai 2007
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 10
    Points : 10
    Points
    10
    Par défaut
    j'ai fait exactement comme vous l'avez montionner mais chez moi sa affiche une erreur quoi que ['nom_club'] est une variable inconnue ou ce message d'erreur "Undifined index " , voila j'aimerai bien un petit coup de pousse dans celle la ... merci

Discussions similaires

  1. [CakePHP] Peupler <select> avec des données de la bdd
    Par t3__rrY dans le forum Bibliothèques et frameworks
    Réponses: 11
    Dernier message: 10/10/2014, 09h16
  2. [AC-2007] Envoyer des données sur une base MySQL par ODBC
    Par Mut dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 06/02/2012, 15h32
  3. Trier par date des données d'une base mysql
    Par christophe_s46 dans le forum Requêtes
    Réponses: 3
    Dernier message: 31/08/2009, 11h18
  4. Réponses: 3
    Dernier message: 23/10/2007, 15h47
  5. importation des données vers une BDD Mysql
    Par moabomotal dans le forum Requêtes
    Réponses: 2
    Dernier message: 16/12/2006, 21h03

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