Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > HTML / DHTML / XHTML
HTML / DHTML / XHTML Forum sur la programmation HTML / DHTML/ XHTML et la validation W3C. Cours (X)HTML, FAQ (X)HTML
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/08/2011, 10h56   #1
Futur Membre du Club
 
Inscription : mars 2007
Messages : 129
Détails du profil
Informations forums :
Inscription : mars 2007
Messages : 129
Points : 15
Points : 15
Par défaut Souci liste déroulante

Bonjour,

Je suis un peu perdu avec la configuration d'une liste déroulante qui s'affiche sur mon site. Cette liste affiche les données contenues dans une table de ma base (nom de la table --> New), qui a 2 champs (Nom et Code Postal) voici le code que j'ai actuellement :

Code :
1
2
3
4
5
6
7
8
9
10
set operation=  CreateObject("ADODB.Recordset")
                              operation.Open "select * from NEW order by NOM ", _
                                         strConnexion
			if not (operation.eof) then
			while not( operation.eof)
		 Monselect=Monselect&"<option value="&operation("NOM")&">"&operation("NOM")&"</option>"
		  operation.movenext
                                   wend
                     else
	<%end if%><select name="NEW" class="normal" style="height:20"><%=Monselect%></select>
Arrivé là ma liste déroulante affiche bien le 1er champ de ma table (Nom) mais pas le 2nd champ "code postal". Ma 1ere question est donc comment faire pour afficher mes 2 champs en même temps dans ma liste déroulante.

Ma 2nd question est plus d'ordre de la présentation : ma liste à l'écran n'affiche que le 1er enregistrement, donc une seule ligne... y'a-t-il moyen d'afficher par défaut 3 ou 4 lignes pour que ça fasse un peu plus rempli ?

Merci d'avance aux personnes qui m'aideront.
BZH75 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/08/2011, 11h20   #2
Membre éclairé
 
Avatar de Kaamo
 
Homme Cyril
Ingénieur développement logiciels
Inscription : avril 2007
Messages : 205
Détails du profil
Informations personnelles :
Nom : Homme Cyril
Localisation : France, Nord (Nord Pas de Calais)

Informations professionnelles :
Activité : Ingénieur développement logiciels
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : avril 2007
Messages : 205
Points : 367
Points : 367
N'es-tu perdu que dans la configuration de cette liste déroulante ? Es-tu sur d'avoir compris ce bout de code ?
j'ai comme l'impression que des notions de base t'échappent .. http://florian.developpez.com/tutori...?page=sommaire

Pour la première question, tel que ce code est construit il n'affiche que la colonne "NOM". (dans le code suivant remplace "CP" par le nom de la colonne 'Code Postal' de la table NEW)
Code :
"<option value=" & operation("NOM") & ">" & operation("NOM") & " (" & operation("CP") & ")</option>"
ps : mettre le "NOM" en value, n'est pas la bonne solution. Tu devrais plutôt mettre l'"ID" de la ville.

Pour la deuxième question, il suffit que la table NEW contienne plus d'enregistrement qui seront ainsi affichés dans cette liste
Kaamo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/08/2011, 11h54   #3
Futur Membre du Club
 
Inscription : mars 2007
Messages : 129
Détails du profil
Informations forums :
Inscription : mars 2007
Messages : 129
Points : 15
Points : 15
Pour commencer Kaamo merci beaucoup pour la 1ere partie, ca marche j'ai bien ma seconde colonne qui s'affiche.

Ensuite comment as tu deviné que ce n'est pas mon truc cette partie de code là ? Effectivement je passe derrière un informaticien actuellement en arrêt maladie et la codification de page web n'est pas ma tasse de thé, je suis plus base de données on va dire.

Pour en revenir à la 2nde partie de mon soucis, tu me dis :
Citation:
Pour la deuxième question, il suffit que la table NEW contienne plus d'enregistrement qui seront ainsi affichés dans cette liste
Nous nous sommes mal compris, actuellement dans ma table j'ai une 30aines d'enregistrement pour tester, et quand je suis sur ma page web, il suffit que je clique sur le bouton de ma liste déroulante pour afficher mes enregistrements, je peux descendre et monter à loisir, aucun soucis.

Par contre quand ma liste déroulante est "inactive" je n'ai pas défaut que le 1er enregistrement qui reste affiché. Ce que j'aimerais c'est avoir les 3 ou 4 premiers enregistrement (par exemple) qui reste toujours à l'écran... je te l'avoue c'est plus pour meubler le site qu'autre chose... Est-ce possible et si oui comment ?
BZH75 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/08/2011, 12h32   #4
Membre éclairé
 
Avatar de Kaamo
 
Homme Cyril
Ingénieur développement logiciels
Inscription : avril 2007
Messages : 205
Détails du profil
Informations personnelles :
Nom : Homme Cyril
Localisation : France, Nord (Nord Pas de Calais)

Informations professionnelles :
Activité : Ingénieur développement logiciels
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : avril 2007
Messages : 205
Points : 367
Points : 367
Citation:
Envoyé par BZH75 Voir le message
Ensuite comment as tu deviné que ce n'est pas mon truc cette partie de code là ? Effectivement je passe derrière un informaticien actuellement en arrêt maladie et la codification de page web n'est pas ma tasse de thé, je suis plus base de données on va dire.
Car en HTML, ce qui est contenu dans les balises <option></option> est affiché à l'écran. Dans le code ci-dessus, il n'y avait que "NOM" dans ces balises. Si tu avais eu des notions tu aurais pu voir tout de suite qu'il manquait l'affichage de la donnée Code Postal

Citation:
Envoyé par BZH75 Voir le message
Par contre quand ma liste déroulante est "inactive" je n'ai pas défaut que le 1er enregistrement qui reste affiché. Ce que j'aimerais c'est avoir les 3 ou 4 premiers enregistrement (par exemple) qui reste toujours à l'écran... je te l'avoue c'est plus pour meubler le site qu'autre chose... Est-ce possible et si oui comment ?
Malheureusement pour toi, une liste déroulante native <select> n'affiche qu'un seul élément. Lorsque l'on clique dessus, le reste s'affiche en effet.

Par contre tu peux utiliser une variante du <select> :

Premier cas :
Dans ce cas, trois choix s'afficheront (les trois premiers, ou les trois qui auront l'attribut selected) <option selected="selected">...</option>L'utilisateur ne peut sélectionner qu'un élément, comme pour un select classique.

Deuxième cas :
Code :
<select multiple size="3">
Même cas que précédemment, sauf que l'utilisateur peut sélectionner plusieurs choix dans la liste. Je ne pense pas que ça soit le but de votre liste.
Kaamo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/08/2011, 15h05   #5
Futur Membre du Club
 
Inscription : mars 2007
Messages : 129
Détails du profil
Informations forums :
Inscription : mars 2007
Messages : 129
Points : 15
Points : 15
Re-bonjour

J'ai tenté ton "1er cas" et ça me semble pas mal
Encore un grand merci pour ton coup de main, bonne continuation !
BZH75 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/08/2011, 15h07   #6
Membre éclairé
 
Avatar de Kaamo
 
Homme Cyril
Ingénieur développement logiciels
Inscription : avril 2007
Messages : 205
Détails du profil
Informations personnelles :
Nom : Homme Cyril
Localisation : France, Nord (Nord Pas de Calais)

Informations professionnelles :
Activité : Ingénieur développement logiciels
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : avril 2007
Messages : 205
Points : 367
Points : 367
De rien, à la prochaine
Kaamo 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 03h03.


 
 
 
 
Partenaires

Hébergement Web