Question sur les listes déroulante

Eléphant du PHP | 259 Messages

09 juil. 2007, 09:28

Bonjour,

J'aimerais savoir s'il est possible d'avoir plusieurs colonnes à une liste déroulante ? car j'ai une liste déroulante qui affiche tous les départements, donc je peux modifié la hauteur avec size mais peut-on mettre plusieurs colonne ? car cela m'affiche une longue liste et j'aimerais afficher le + possible au lieu de descendre avec le curseur.

merci d'avance pour vos réponses.

Avatar du membre
ViPHP
ViPHP | 3008 Messages

09 juil. 2007, 14:46

Je ne suis pas sûr que c'est faisable. En tout cas je n'ai jamais rien vu de tel sur une liste déroulante. Le code d'une liste correspond à une ligne unique pour chaque <option>, il n'existe rien pour spécifier plusieurs colonnes.

Mammouth du PHP | 536 Messages

09 juil. 2007, 15:28

effectivement, je ne suis pas sur qu'il est possible d'afficher un menu déroulant sur plusieurs colones. Ce que tu peux faire, peut être, c'est faire choisir une région dans un menu déroulant (il y en a moins) et en fonction de la région choisie, tu affiche les départements qui correspondent
Un prof désespéré à son élève :
- Et maintenant, dessinez-moi un cercle au tableau... Voila... Alors qu'est-ce que c'est?
- Ben un cercle ?
- Non, c'est votre note, sortez !!

Eléphant du PHP | 259 Messages

09 juil. 2007, 16:00

oui ça serait une solution.. mais dommage qu'on ne puisse pas mettre plusieurs colonnes.

Mammouth du PHP | 536 Messages

09 juil. 2007, 16:09

sinon, pour permettre le choix de plusieurs départements, tu peux utiliser les checkbox.
Un prof désespéré à son élève :
- Et maintenant, dessinez-moi un cercle au tableau... Voila... Alors qu'est-ce que c'est?
- Ben un cercle ?
- Non, c'est votre note, sortez !!

Eléphant du PHP | 259 Messages

09 juil. 2007, 16:46

oui c'est ce que je pensais, c'est plus simple pour les utilisateurs de cocher plusieurs choses.
mais je n'arrive pas a les afficher dasn un tableau, la 1er colonne afficher les 25er departement, la 2eme colonne, les 25 suivant..etc

voici mon code pour le moment :
$resultat=mysql_query("select * from departements LIMIT 0,25");
		echo'<center><TABLE width="100%" border="0"><div align="center">';
		while ($data=mysql_fetch_array($resultat))
		{
		echo'<TR><TD><INPUT type="checkbox" name="dpt" value="'.$data["num_dpt"].'">'.$data["num_dpt"].' - '.$data["nom_dpt"].'</td>';		
		}		
		$resultat2=mysql_query("select * from departements LIMIT 25,50");
		while ($data2=mysql_fetch_array($resultat2))
		{
		echo'<TD><INPUT type="checkbox" name="dpt" value="'.$data2["num_dpt"].'">'.$data2["num_dpt"].' - '.$data2["nom_dpt"].'</td>';	
		}	
		echo'</TR></center></table></div>';	
Mais ça affiche tout d'affiler..

Mammouth du PHP | 536 Messages

09 juil. 2007, 17:03

je suis pas sur, mais essais comme ca :
$resultat=mysql_query("select * from departements LIMIT 0,25");
        echo'<center><TABLE width="100%" border="0"><div align="center"><TR>';
        while ($data=mysql_fetch_array($resultat))
        {
        echo'<TD><INPUT type="checkbox" name="dpt" value="'.$data["num_dpt"].'">'.$data["num_dpt"].' - '.$data["nom_dpt"].'</td>';        
        }        
        $resultat2=mysql_query("select * from departements LIMIT 25,50");
        while ($data2=mysql_fetch_array($resultat2))
        {
        echo'<TD><INPUT type="checkbox" name="dpt" value="'.$data2["num_dpt"].'">'.$data2["num_dpt"].' - '.$data2["nom_dpt"].'</td>';    
        }    
        echo'</TR></center></table></div>'; 
Un prof désespéré à son élève :
- Et maintenant, dessinez-moi un cercle au tableau... Voila... Alors qu'est-ce que c'est?
- Ben un cercle ?
- Non, c'est votre note, sortez !!

ViPHP
ViPHP | 1996 Messages

09 juil. 2007, 22:05

Essaye avec les balises <optgroup>. Ca te créé pas des colonnes mais sous options. Si ca peux t'aider...
It is nice to be important but it is more important to be nice
http://www.aureuswebfactory.fr

Eléphant du PHP | 259 Messages

10 juil. 2007, 09:43

ça ne marche pas non plus béka, ça affiche tout en ligne...

je cherche depuis un moment.. mais je n'arrive toujours pas a faire plusieurs colonnes.. :(

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

11 juil. 2007, 13:56

Tu ne peux pas faire plusieurs colonnes dans un select.. c'est pas prévu pour... le tableau de cases à cocher ou de radio semble effectivement être la meilleure solution d'y parvenir.

Le plus simple pour cela, c'est d'utiliser un compteur d'élément et l'opérateur modulo (noté %) qui te donne le reste d'une division. Ainsi tu peux calculer le résultat de ton compteur modulo le nombre de colonne et savoir où tu en es dans tes colonnes pour ajouter les balises <tr> ou </tr> :)

Tu as des exemples pour construire ton tableau sur le forum dans les topics sur les galeries d'images, que ce soit des vignettes ou des cases à cocher, ca ne change pas grand chose ;)
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...