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 :

liste déroulante triée? [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2011
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 24
    Points : 7
    Points
    7
    Par défaut liste déroulante triée?
    bonjour

    je suis en train d'apprendre le php et l'utilisation des bases SQL

    ma base est la suivante :

    +++++++++++++
    + player + ville +
    +++++++++++++
    + dupont + 42220 +
    + dupont + 42660 +
    + toto + 01100 +
    + durant + 42220 +
    + durant + 43330 +
    + etc .. + etc .. +
    ++++++++++++++++++

    j'ai bien créé ma base
    je la charge
    et j'aimerais pouvoir fait une liste déroulante

    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
    <?php
    // connexion à la base
    $Host = '***************';
    $User = '***************';
    $Password = '******';
    $Database = '*************';
    $idConnect = mysql_connect( $Host, $User, $Password) or die( "Connexion impossible.");
    $db = mysql_select_db( $Database, $idConnect) or die( "Accès base impossible.");
    // Requête SQL
    $rqSql = 'SELECT player FROM travsync_x_world ORDER BY player';
    // Exécution de la requête
    $result = mysql_query( $rqSql, $idConnect) or die( "Exécution requête impossible.");
    mysql_close( $idConnect);
     
    // Construction de la chaîne de caractères qui fait la liste
    $ld = "<SELECT NAME='joueur'>";
    $ld .= "<OPTION VALUE=0>Choisissez</OPTION>";
    // On boucle sur la table
    while ( $row = mysql_fetch_array( $result)) {
        $player = $row["player"];
    	if ( $player == $playerRecord) {
            $s = "selected";
        } else {
            $s = "";
        }
        $ld .= "<OPTION VALUE='$player' $s >
                    $player</OPTION>";
    	}
    $ld .= "</SELECT>";
    print $ld;
    ?>
    "
    le probleme c'est que ca m'affiche toutes les lignes donc plusieurs fois 'dupont" "durant", etc...,
    alors que je ne voudrais voir que une seule fois "dupont" ou "durant" dans ma liste déroulante

    que dois je mettre et ou?

    merci d'avance
    fifi

    ps 1 : la base de données que j'utilise contient plus de 10.000 lignes et chaque joueur peut avoir plusieurs fois son nom de noté :s
    ps 2 : ca fait deux jours que je cherche et que je ne trouve pas :s

  2. #2
    Expert éminent
    Avatar de Benjamin Delespierre
    Profil pro
    Développeur Web
    Inscrit en
    Février 2010
    Messages
    3 929
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2010
    Messages : 3 929
    Points : 7 762
    Points
    7 762
    Par défaut
    ** mode halu ON **
    C'est vriament comme ça qu'on apprends à coder avec les tutos sur internet ??
    ** mode halu OFF **

    Tu peux utiliser la clause GROUP BY de SQL pour rassmebler des tuples identiques.
    Exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    SELECT machin FROM truc WHERE ville="Paris" GROUP BY name;

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2011
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 24
    Points : 7
    Points
    7
    Par défaut
    Citation Envoyé par Benjamin Delespierre Voir le message
    ** mode halu ON **
    C'est vriament comme ça qu'on apprends à coder avec les tutos sur internet ??
    ** mode halu OFF **
    ** mode noob on **
    ben oui ^^
    mais je te promet que la prochaine fois que je descends en ville j'ira m'acheter un bouquin style "le php pour les nuls"
    ** mode noob off **

    mais dans ce cas la, la requête ne prends que paris et pas toute les villes
    moi, j'aimerais avoir tous les noms mais qu'une seule fois?

    EDIT : ca marche ^^ merki ^^

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT player FROM travsync_x_world GROUP BY player
    mais seront ils classés par ordre alphabétique?

  4. #4
    Expert éminent
    Avatar de Benjamin Delespierre
    Profil pro
    Développeur Web
    Inscrit en
    Février 2010
    Messages
    3 929
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2010
    Messages : 3 929
    Points : 7 762
    Points
    7 762
    Par défaut
    C'était un exemple, dans ton cas ça donne:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT player FROM travsync_x_world GROUP BY player ORDER BY player
    Logiquement, si ta base avait été correctement construite, ce genre de problème ne devrait pas se produire. Voici quelques guides:
    - http://tecfa.unige.ch/staf/staf-h/ta...di/last_bd.htm
    - http://fr.wikipedia.org/wiki/Forme_n...ationnelles%29

    Et les outils pour y parvenir:
    - http://wb.mysql.com/

    Dans ton cas, on remarque qu'un joueur peut avoir plusieurs villes, toi tu as simplement duppliqué l'information "joueur" alors que tu aurais dû faire quelque chose dans ce gout:
    Images attachées Images attachées  

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 24/04/2013, 06h41
  2. Réponses: 2
    Dernier message: 03/12/2009, 17h46
  3. liste déroulante avec session
    Par leeloo076 dans le forum ASP
    Réponses: 3
    Dernier message: 19/03/2004, 11h01
  4. liste déroulante en ASP vbscript
    Par leeloo076 dans le forum ASP
    Réponses: 9
    Dernier message: 17/03/2004, 16h42
  5. Listes déroulantes liées entre elles
    Par denisC dans le forum Général JavaScript
    Réponses: 0
    Dernier message: 27/07/2002, 15h53

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