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 :

construction de select optgroup [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre confirmé Avatar de gtraxx
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2006
    Messages
    1 043
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Belgique

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

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 043
    Points : 570
    Points
    570
    Par défaut construction de select optgroup
    Bonsoir à tous, je suis entrain de faire un menu select avec un optgroup par langue .
    Seulement je n'arrive pas à avoir ce que je souhaite, le menu doublonne les enregistrements.
    Il faut impérativement que je fasse ce select avec comme optgroup la langue et les enregistrement juste en dessous.
    ma requête sql :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT c.idcategory,c.category,lang.codelang FROM mc_cms_category AS c 
        	LEFT JOIN mc_lang AS lang ON(c.idlang = lang.idlang)
        	ORDER BY c.idlang
    Mon code php de test:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    foreach ($rubrique as $categorie)
    		{
    		    $menuDeroulant .= '<optgroup label="'.$categorie['codelang'].'">';
    		    foreach($rubrique as $element)
    		    {
    		            $menuDeroulant .= '<option value="'.$element['idcategory'].'">'.$element['category'].'</option>';
    		    }
    		    $menuDeroulant .= "</optgroup>\n";
    		}
    pfff c'est vraiment une bétise et j'arrête pas de le retourner dans tous les sens lol, les résultats peuvent être très inattendu

  2. #2
    Membre éclairé
    Avatar de keaton7
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    743
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 743
    Points : 689
    Points
    689
    Par défaut
    Bonjour,

    Tu as 2 fois foreach $rubrique, change le nom de ta variable dans ta 2eme boucle en $categorie non ?

  3. #3
    Membre confirmé Avatar de gtraxx
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2006
    Messages
    1 043
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Belgique

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

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 043
    Points : 570
    Points
    570
    Par défaut
    j viens de tester et c'est encore pire ,j'ai droit à un menu déroulant avec un seul caractère sur plusieurs ligne
    A mon avis le coup du double foreach c'est pas une bonne idée
    voila le résultat si je fais un print_r du tableau :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Array ( [0] => Array ( [idcategory] => 1 [0] => 1 [category] => première catégorie [1] => première catégorie [pathcategory] => premiere-categorie [2] => premiere-categorie [idorder] => 1 [3] => 1 [codelang] => fr [4] => fr [idlang] => 1 [5] => 1 ) [1] => Array ( [idcategory] => 2 [0] => 2 [category] => deuxième catégorie [1] => deuxième catégorie [pathcategory] => deuxieme-categorie [2] => deuxieme-categorie [idorder] => 2 [3] => 2 [codelang] => fr [4] => fr [idlang] => 1 [5] => 1 ) )

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    une methode qui se base sur le fait pour que les données soient ordonnées pour detecter le changement section :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    $lang = '';
    foreach ($rubrique as $row)
    {
    if ($row['codelang'] != $lang) {
           if ($lang != '') { $menuDeroulant .= "</optgroup>\n"; }
           $menuDeroulant .= '<optgroup label="'.$row['codelang'].'">';
    }
    $menuDeroulant .= '<option value="'.$row['idcategory'].'">'.$row['category'].'</option>';
    $lang = $row['codelang'];
    }

  5. #5
    Membre confirmé Avatar de gtraxx
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2006
    Messages
    1 043
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Belgique

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

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 043
    Points : 570
    Points
    570
    Par défaut
    Merci sabotage c'est exactement sa, je ne sais pas pourquoi mais chaque fois que j'ai une hiérarchie similaire, j'oublie la bonne méthode

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

Discussions similaires

  1. select : optgroup améliorer ?
    Par Valkirion dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 30/11/2009, 14h31
  2. construction req select avec id unique
    Par radahm dans le forum PL/SQL
    Réponses: 2
    Dernier message: 21/10/2009, 19h03
  3. [DOM] Select : Optgroup et Options
    Par sebhm dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 05/11/2008, 17h29
  4. Construction d'url avec 3 valeurs de selects .
    Par lolymeupy dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 06/08/2008, 15h35
  5. cherche exemple de construction de scrollbar pour select
    Par titicurio dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 21/02/2006, 16h00

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