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 :

Affichage données unique [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Février 2006
    Messages
    188
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 188
    Points : 130
    Points
    130
    Par défaut Affichage données unique
    Bonjour,

    Bien, j'espère que je post au bonne endroit, ça va parler de php et de mysql.

    Imaginons que l'on a un tableau avec les données suivantes:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    banane blabla
    choux blabla
    banane blabla
    pomme ...
    banane
    ...
    et voila du code 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
     
    $nbreligne=mysql_num_rows($res);
    $ret=(mysql_query("select NOM from achat"));
     
    echo "<form action ='blabla.php' method='POST'>";
    echo "<select name = 'choixfruit' >";
     
    for ($i=0; $i<$nbreligne; $i++)
    {
    $nom=mysql_result($ret,$i,$"NOM");
    echo "<option value = $nom>$nom </option>";
    }
    echo "</select>";
    echo "<input type='submit' value='OK' />";
    echo "</form>";
    Bon tout le monde a reconnu une liste déroulante, malgré le code peu clair, mais voila, il me sort la liste avec tout les noms de fruits. Comment faire pour ne pas avoir 50 fois le même nom resortir, y'a pas une commande qui trie les noms deja sortie. Je connais la commande UNIQUE, mais c'est pas vraiment celle-la.

    je voudrait un résultat du type:
    banane
    choux
    pomme

    et pas :

    banane
    choux
    banane
    pomme
    banane

    dans la liste déroulante.

    Des idées?

  2. #2
    Membre expert Avatar de Amara
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 688
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 688
    Points : 3 115
    Points
    3 115
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT DISTINCT nom FROM achat
    Non ?

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Février 2006
    Messages
    188
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 188
    Points : 130
    Points
    130
    Par défaut
    Heu... oui...

    c'est presque honteux de pas connaitre cette commande.

    bien, maintenant je me retrouve avec ce qu'il faut dans une liste déroulante longue come mon bras mais presque vide avec 4,5 nom en debut de liste.
    Surement à cause du for.

    Je vais essayer de régler ça, mais le "problème" est plus ou moins résolu.

    MERCI, et encore une victoire de canard!!! coin coin

  4. #4
    Membre expert Avatar de Amara
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 688
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 688
    Points : 3 115
    Points
    3 115
    Par défaut
    $nbrlignes fait référence au nombre de résultats d'une autre requête ($res au lieu de $ret), d'où le problème.

  5. #5
    Membre expérimenté
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    1 349
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 349
    Points : 1 460
    Points
    1 460
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    nbreligne=mysql_num_rows($res);
    $ret=(mysql_query("select NOM from achat"));
     
    echo "<form action ='blabla.php' method='POST'>";
    echo "<select name = 'choixfruit' >";
     
    while ($array=mysql_fetch_array($ret))
    {
    echo "<option value = ".$array['nom'].">".$array['$nom']."</option>";
    }
    echo "</select>";
    echo "<input type='submit' value='OK' />";
    echo "</form>";
    c'est pas plus simple comme ça??

  6. #6
    Membre habitué
    Profil pro
    Inscrit en
    Février 2006
    Messages
    188
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 188
    Points : 130
    Points
    130
    Par défaut
    L'idée est bonne boo64, mais j'ai des erreurs:
    PHP fatal error: Call to undefined function mysql_fetch_array
    sur les lignes contenant les while.

    En faite c'est JWhite et son oeil de lynx qui a vu le pb:
    $nbrlignes fait référence au nombre de résultats d'une autre requête ($res au lieu de $ret), d'où le problème.
    Du coup, maintenant j'ai ce que je veux, c'est impec.
    MERCI à tous.

  7. #7
    Membre expérimenté
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    1 349
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 349
    Points : 1 460
    Points
    1 460
    Par défaut
    oué enfin je compre toujour pas pourquoi un for alors qu'un mysql_fetch_row ou mysql_fetch array le fais trés bien...

  8. #8
    Membre expert Avatar de Amara
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 688
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 688
    Points : 3 115
    Points
    3 115
    Par défaut
    mon oeil de lynx, pour ceux qui me connaissent ils vont rigoler je suis myope comme une taupe

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

Discussions similaires

  1. [SQL] affichage d'une requete SQL avec un echo (donnée unique)
    Par khamett dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 17/10/2007, 20h03
  2. [SQL] Moteur de recherche problème affichage donnée dans select
    Par vincedjs dans le forum PHP & Base de données
    Réponses: 9
    Dernier message: 07/04/2006, 20h27
  3. [débutant] problème affichage données table ds TDBGrid
    Par lidouka dans le forum Composants VCL
    Réponses: 1
    Dernier message: 16/12/2005, 13h50
  4. Export jeu de données uniquement
    Par jeff37 dans le forum Oracle
    Réponses: 1
    Dernier message: 01/07/2005, 18h16
  5. Affichage Données avec Espace ds Zone Texte
    Par dai.kaioh dans le forum ASP
    Réponses: 2
    Dernier message: 22/02/2005, 16h43

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