Précédent   Forum des professionnels en informatique > PHP > Langage > Formulaires
Formulaires Forum d'entraide sur les formulaires avec PHP. Avant de poster -> FAQ formulaires, Cours de formulaires et Sources de formulaires
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 26/01/2011, 15h50   #1
Candidat au titre de Membre du Club
 
Inscription : juillet 2003
Messages : 66
Détails du profil
Informations forums :
Inscription : juillet 2003
Messages : 66
Points : 13
Points : 13
Par défaut Liste déroulante à 2 colonnes

Bonjour à tous...

J'ai réussi à faire une liste déroulante à deux colonnes, le problème est que je voudrais que la 2ème colonne s'aligne sur la première lettre des items qu'elle contient avec une ligne séparative verticale entre les deux colonnes et les espaces nécessaires entre la dernière lettre des items contenus dans la première colonne et le trait séparateur. Est-ce possible et y a t'il un moyen de coder celà proprement ?
Je voudrais en gros faire pareil que les listes déroulantes d'Access.

Voilà mon code initial :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
 
<?php
					$sql="SELECT N0_Departement, lib_departement, Code_departement FROM departement ORDER BY lib_departement";
					$resultat=mysql_query($sql);
					echo '<select name="Dep">';
					echo '<option value="" selected></option>';
					while ($rang=mysql_fetch_array($resultat)){
						$cleDep=$rang['N0_Departement'];
						$ldep=$rang['lib_departement'];
						$Ndep=$rang['Code_departement'];
						if (!empty($ldep)){
							echo "<option value=\"$cleDep\">$ldep, $Ndep</option>";
						}
					}
					echo '</select>';
				?>
Merci beaucoup d'avance.
Zhebulon est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/01/2011, 16h35   #2
Modérateur
 
Avatar de Benjamin Delespierre
 
Benjamin Delespierre
Développeur Web
Inscription : février 2010
Messages : 2 984
Détails du profil
Informations personnelles :
Nom : Benjamin Delespierre
Âge : 24
Localisation : France

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

Informations forums :
Inscription : février 2010
Messages : 2 984
Points : 5 015
Points : 5 015
Tu peux montrer un screenshot parce que là
Citation:
je voudrais que la 2ème colonne s'aligne sur la première lettre des items qu'elle contient avec une ligne séparative verticale entre les deux colonnes et les espaces nécessaires entre la dernière lettre des items contenus dans la première colonne et le trait séparateur
J'ai rien compris...
__________________
A la recherche d'un framework MVC facile a prendre en main ? Essayez Axiom
Nouveau: la référence d'Axiom est disponible sur GitHub (je la peaufine en ce moment même).

Un problème correctement identifié est à moitié résolu, évitez de poster l'intégralité de votre code avec pour seule explication "ça ne marche pas...".
Pour identifier correctement vos problèmes PHP, utilisez la gestion des erreurs et xdebug.

Les boutons et existent, servez-vous en
Benjamin Delespierre est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/01/2011, 17h10   #3
Candidat au titre de Membre du Club
 
Inscription : juillet 2003
Messages : 66
Détails du profil
Informations forums :
Inscription : juillet 2003
Messages : 66
Points : 13
Points : 13
Bonjour Benjamin...

OK, voilà avec le code que j'ai donné ci-dessus, ce que j'obtiens :

Et en fait, voilà ce que je voudrais obtenir :


Bon, dans l'exemple, il y a 3 colonnes, je n'en veux que deux. Au lieu que mes items de colonnes soient tassés, je voudrais qu'ils soient espacés comme l'exemple ci-dessus avec une ligne verticale qui sépare ou démarque les colonnes....
Zhebulon est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/01/2011, 18h36   #4
Modérateur
 
Avatar de Benjamin Delespierre
 
Benjamin Delespierre
Développeur Web
Inscription : février 2010
Messages : 2 984
Détails du profil
Informations personnelles :
Nom : Benjamin Delespierre
Âge : 24
Localisation : France

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

Informations forums :
Inscription : février 2010
Messages : 2 984
Points : 5 015
Points : 5 015
D'accord. Je ne te cache pas que ça ne vas pas être simple. Enfin, c'est pas impossible tout de même.
La solution que je te recommande est d'afficher un tableau (au lieu d'une liste) formatté comme tu veux et dont le tbody possède une hauteur fixe. Avec CSS tu t'arranges pour faire apparaître l'ascenseur vertical à l'aide de la propriété overflow. Ensuite, avec JavaScript (je te recommande jQuery pour te simplifier la vie) tu vas attraper l'évènement clic sur une ligne du tableau et mettre à jour un champ caché dans la page qui sera l'équivalent de ton ancienne liste déroulante. Tu pourra en profiter pour mettre en surbrillance la ligne de tableau concernée.

Avec ça c'est gagné
__________________
A la recherche d'un framework MVC facile a prendre en main ? Essayez Axiom
Nouveau: la référence d'Axiom est disponible sur GitHub (je la peaufine en ce moment même).

Un problème correctement identifié est à moitié résolu, évitez de poster l'intégralité de votre code avec pour seule explication "ça ne marche pas...".
Pour identifier correctement vos problèmes PHP, utilisez la gestion des erreurs et xdebug.

Les boutons et existent, servez-vous en
Benjamin Delespierre est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/01/2011, 07h26   #5
Candidat au titre de Membre du Club
 
Inscription : juillet 2003
Messages : 66
Détails du profil
Informations forums :
Inscription : juillet 2003
Messages : 66
Points : 13
Points : 13
Bonjour Benjamin...

Ouille, tu l'as dit, c'est pas simple tout de même. Je pourrais plancher là-dessus quand j'aurais plus de temps devant moi ce qui, actuellement n'est pas le cas. Mais ton idée est intéressante, en plus je n'ai jamais fait de JQuery, quant à CSS, je débute timidement, ce sera l'occasion.

Mon idée plus simpliste revenait à récupérer la longueur maxi du champ contenu dans le première colonne de la liste, pour chaque item de la liste récupérer sa longueur réelle et reconstituer la chaîne avec les espaces manquants et ensuite rajouter le code ASCII de la barre verticale, puis charger la seconde colonne.

Farfelu ?
Zhebulon est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/01/2011, 09h37   #6
Modérateur
 
Avatar de Benjamin Delespierre
 
Benjamin Delespierre
Développeur Web
Inscription : février 2010
Messages : 2 984
Détails du profil
Informations personnelles :
Nom : Benjamin Delespierre
Âge : 24
Localisation : France

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

Informations forums :
Inscription : février 2010
Messages : 2 984
Points : 5 015
Points : 5 015
Citation:
Mon idée plus simpliste revenait à récupérer la longueur maxi du champ contenu dans le première colonne de la liste, pour chaque item de la liste récupérer sa longueur réelle et reconstituer la chaîne avec les espaces manquants et ensuite rajouter le code ASCII de la barre verticale, puis charger la seconde colonne.

Farfelu ?
Oui, et très très sale en plus.
__________________
A la recherche d'un framework MVC facile a prendre en main ? Essayez Axiom
Nouveau: la référence d'Axiom est disponible sur GitHub (je la peaufine en ce moment même).

Un problème correctement identifié est à moitié résolu, évitez de poster l'intégralité de votre code avec pour seule explication "ça ne marche pas...".
Pour identifier correctement vos problèmes PHP, utilisez la gestion des erreurs et xdebug.

Les boutons et existent, servez-vous en
Benjamin Delespierre est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/01/2011, 12h34   #7
Candidat au titre de Membre du Club
 
Inscription : juillet 2003
Messages : 66
Détails du profil
Informations forums :
Inscription : juillet 2003
Messages : 66
Points : 13
Points : 13

ARG ! Ben si tu le dis alors.... J'essaierais donc ta solution....

Merci beaucoup à toi !
Zhebulon est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/02/2011, 11h17   #8
Modérateur
 
Avatar de Benjamin Delespierre
 
Benjamin Delespierre
Développeur Web
Inscription : février 2010
Messages : 2 984
Détails du profil
Informations personnelles :
Nom : Benjamin Delespierre
Âge : 24
Localisation : France

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

Informations forums :
Inscription : février 2010
Messages : 2 984
Points : 5 015
Points : 5 015
Je te conseille de laisser ton select intact et de les transformer (à l'évent onload) avec Javascript, tu sera mieux indexé par les moteurs de recherches en utilisant cette technique.
__________________
A la recherche d'un framework MVC facile a prendre en main ? Essayez Axiom
Nouveau: la référence d'Axiom est disponible sur GitHub (je la peaufine en ce moment même).

Un problème correctement identifié est à moitié résolu, évitez de poster l'intégralité de votre code avec pour seule explication "ça ne marche pas...".
Pour identifier correctement vos problèmes PHP, utilisez la gestion des erreurs et xdebug.

Les boutons et existent, servez-vous en
Benjamin Delespierre est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 04h37.


 
 
 
 
Partenaires

Hébergement Web