Créer unr liste déroulante à 3 colonnes
Résolu/Fermé
malabarbe
Messages postés
127
Date d'inscription
jeudi 20 septembre 2007
Statut
Membre
Dernière intervention
14 septembre 2016
-
21 août 2009 à 15:18
caccia Messages postés 95 Date d'inscription mardi 21 juillet 2009 Statut Membre Dernière intervention 16 juin 2010 - 25 août 2009 à 14:26
caccia Messages postés 95 Date d'inscription mardi 21 juillet 2009 Statut Membre Dernière intervention 16 juin 2010 - 25 août 2009 à 14:26
A voir également:
- Créer unr liste déroulante à 3 colonnes
- Liste déroulante excel - Guide
- Liste déroulante en cascade - Guide
- Créer un compte gmail - Guide
- Créer un compte google - Guide
- Créer un groupe whatsapp - Guide
6 réponses
caccia
Messages postés
95
Date d'inscription
mardi 21 juillet 2009
Statut
Membre
Dernière intervention
16 juin 2010
16
21 août 2009 à 18:14
21 août 2009 à 18:14
Si j'ai bien compris ton problème, ça revient à faire une liste déroulante à une seule colonne dans laquelle sont écrites les trois valeurs dont tu as besoin...
un truc du genre:
<select>
<?php
$reponse = mysql_query('ta requete');
while($donnees = mysql_fetch_assoc($reponse)){
echo "<option>".$val1.$val2.$val3."</option>";
}
?>
</select>
un truc du genre:
<select>
<?php
$reponse = mysql_query('ta requete');
while($donnees = mysql_fetch_assoc($reponse)){
echo "<option>".$val1.$val2.$val3."</option>";
}
?>
</select>
caccia
Messages postés
95
Date d'inscription
mardi 21 juillet 2009
Statut
Membre
Dernière intervention
16 juin 2010
16
21 août 2009 à 18:36
21 août 2009 à 18:36
Je ne suis pas certain de bien situer le problème.
Cependant est-ce que tu ne pourrais pas jouer sur les id de tes tables? Car finalement peu importe ce qui est affiché, ce qui compte dans ta liste déroulante c'est le value="" et ce qu'il y a dedans. Pourquoi ne pas y mettre une valeur référence comme un id?
Et normalement, la liste déroulante s'adapte à la taille la plus grande des données qu'elle affiche, non?
Cependant est-ce que tu ne pourrais pas jouer sur les id de tes tables? Car finalement peu importe ce qui est affiché, ce qui compte dans ta liste déroulante c'est le value="" et ce qu'il y a dedans. Pourquoi ne pas y mettre une valeur référence comme un id?
Et normalement, la liste déroulante s'adapte à la taille la plus grande des données qu'elle affiche, non?
malabarbe
Messages postés
127
Date d'inscription
jeudi 20 septembre 2007
Statut
Membre
Dernière intervention
14 septembre 2016
1
21 août 2009 à 18:46
21 août 2009 à 18:46
je m'explique :
Enregistrement 1
Savonette..........Bleue.......12
Enregistrement 2
Savon................Noir.........5
Cela va afficher :
Savonette Bleue 12
Savon Noir 5
Les points représentant des espaces.
C'est pourqoui en plaçant chaque variable dans une colonne,
le formatage serai parfait.
Enregistrement 1
Savonette..........Bleue.......12
Enregistrement 2
Savon................Noir.........5
Cela va afficher :
Savonette Bleue 12
Savon Noir 5
Les points représentant des espaces.
C'est pourqoui en plaçant chaque variable dans une colonne,
le formatage serai parfait.
caccia
Messages postés
95
Date d'inscription
mardi 21 juillet 2009
Statut
Membre
Dernière intervention
16 juin 2010
16
24 août 2009 à 12:04
24 août 2009 à 12:04
Ben ouai!
Je ne vois pas trop où le fait que ta police ne soit pas unicode est un problème... Normalement en faisant quelque chose qui ressemble à ce que je t'ai montré plus haut, tu peux le faire. Pour certains, il faudrait juste remplacer le while() par un foreach mais en fin de compte ce n'est pas trop le sujet.
Si tu as des questions sur la syntaxe, n'hésite pas!
Pour résumer: tu fais une grosse requête sql (envoyée en php) pour sélectionner les champs et les données qui t'intéresse dans ta bdd. En somme, le type de savon, la couleur de ce savon et le nombre de savons vendus de ce type (c'est ça? :) ) Et pour chaque résultat, tu l'affiches dans un <option></option>.
Je ne vois pas trop où le fait que ta police ne soit pas unicode est un problème... Normalement en faisant quelque chose qui ressemble à ce que je t'ai montré plus haut, tu peux le faire. Pour certains, il faudrait juste remplacer le while() par un foreach mais en fin de compte ce n'est pas trop le sujet.
Si tu as des questions sur la syntaxe, n'hésite pas!
Pour résumer: tu fais une grosse requête sql (envoyée en php) pour sélectionner les champs et les données qui t'intéresse dans ta bdd. En somme, le type de savon, la couleur de ce savon et le nombre de savons vendus de ce type (c'est ça? :) ) Et pour chaque résultat, tu l'affiches dans un <option></option>.
malabarbe
Messages postés
127
Date d'inscription
jeudi 20 septembre 2007
Statut
Membre
Dernière intervention
14 septembre 2016
1
24 août 2009 à 12:24
24 août 2009 à 12:24
Bonjour caccia,
Oui, c'est bien cela mais dans la liste, les 3 champs
s'affichent mais concaténés alors que je viudrais des colonnes.
N'en voyant pas le bout, je me suis dirigé vers un tableau :
A chaque lecture d'un enregistrement, je créé un ligne de
tableau avec 3 cellules.
Les données vont bien dans chaque cellule et tout est bien
formaté en colonnes avec des largeurs définissables (OUF !)
Cela tourne bien, ce que je cherche a faire maintenant :
Au passage de la souris sur une ligne du tableau affiché :
- Que la ligne de 3 colonnes change de couleur (rollover)
- Que la petite main apparaisse
Je n'arrive pas a faire cela
Voici mon code :
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<style>
BODY { margin:0px; }
#ligne a
{
background-color: #f0cd6a; /* Couleur de cellule */
}
#ligne a:link
{
color: #963300; /* Couleur des liens pour toute la ligne */
text-decoration: none;
}
#cel-1 a
{
width: 45px; /* Largeur Lien Cellule 1 */
}
#cel-2 a
{
width: 243px; /* Largeur Lien Cellule 2 */
}
#cel-3 a
{
width: 146px; /* Largeur Lien Cellule 3 */
}
#ligne a:hover
{
background-color: #FFa80F; /* Couleur de fond au survol des liens */
text-decoration:none; /* Gras quand survol des liens */
font-weight:bold;
background-color: #FFa80F;
}
}
</style>
</head>
<body bgcolor="#FFFFE6">
<br><br><br>
<CENTER>
<DIV id='ligne'>
<table border="5" cellspacing="1" id="table1" bordercolor="#963300">
<tr>
<!--<tr onClick="window.location.replace('http://192.168.1.10/appels/t-022.html')"> Le bon -->
<tr onClick="window.location.replace('t-026.php')">
<ul id="cel-1">
<td width="52">11111
<!-- <a href="">cel-1</td>-->
</td>
<ul id="cel-2">
<td width="250">22222
<!-- <a href="2">cel-2</td>-->
</td>
<ul id="cel-3">
<td width="153">33333
<!-- <a href="3">cel-3</td>-->
</td>
</tr>
</table>
</DIV>
</body>
</html>
Eclairez-moi SVP
Ps: C'est le source du test passif, le vrai programme affiche bien les données MySql.
Oui, c'est bien cela mais dans la liste, les 3 champs
s'affichent mais concaténés alors que je viudrais des colonnes.
N'en voyant pas le bout, je me suis dirigé vers un tableau :
A chaque lecture d'un enregistrement, je créé un ligne de
tableau avec 3 cellules.
Les données vont bien dans chaque cellule et tout est bien
formaté en colonnes avec des largeurs définissables (OUF !)
Cela tourne bien, ce que je cherche a faire maintenant :
Au passage de la souris sur une ligne du tableau affiché :
- Que la ligne de 3 colonnes change de couleur (rollover)
- Que la petite main apparaisse
Je n'arrive pas a faire cela
Voici mon code :
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<style>
BODY { margin:0px; }
#ligne a
{
background-color: #f0cd6a; /* Couleur de cellule */
}
#ligne a:link
{
color: #963300; /* Couleur des liens pour toute la ligne */
text-decoration: none;
}
#cel-1 a
{
width: 45px; /* Largeur Lien Cellule 1 */
}
#cel-2 a
{
width: 243px; /* Largeur Lien Cellule 2 */
}
#cel-3 a
{
width: 146px; /* Largeur Lien Cellule 3 */
}
#ligne a:hover
{
background-color: #FFa80F; /* Couleur de fond au survol des liens */
text-decoration:none; /* Gras quand survol des liens */
font-weight:bold;
background-color: #FFa80F;
}
}
</style>
</head>
<body bgcolor="#FFFFE6">
<br><br><br>
<CENTER>
<DIV id='ligne'>
<table border="5" cellspacing="1" id="table1" bordercolor="#963300">
<tr>
<!--<tr onClick="window.location.replace('http://192.168.1.10/appels/t-022.html')"> Le bon -->
<tr onClick="window.location.replace('t-026.php')">
<ul id="cel-1">
<td width="52">11111
<!-- <a href="">cel-1</td>-->
</td>
<ul id="cel-2">
<td width="250">22222
<!-- <a href="2">cel-2</td>-->
</td>
<ul id="cel-3">
<td width="153">33333
<!-- <a href="3">cel-3</td>-->
</td>
</tr>
</table>
</DIV>
</body>
</html>
Eclairez-moi SVP
Ps: C'est le source du test passif, le vrai programme affiche bien les données MySql.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
malabarbe
Messages postés
127
Date d'inscription
jeudi 20 septembre 2007
Statut
Membre
Dernière intervention
14 septembre 2016
1
24 août 2009 à 22:17
24 août 2009 à 22:17
Ok caccia,
Un grand merci pour tes conseils
J'ai suivi ton idée et c'est OK
@ +
Un grand merci pour tes conseils
J'ai suivi ton idée et c'est OK
@ +
caccia
Messages postés
95
Date d'inscription
mardi 21 juillet 2009
Statut
Membre
Dernière intervention
16 juin 2010
16
25 août 2009 à 14:26
25 août 2009 à 14:26
Et bien, je suis ravi de savoir que je peux parfois me rendre utile! A très bientôt.
21 août 2009 à 18:23
Non, il me faut impérativement 3 colonnes car la police que j'emploie
n'est pas unicode et a l'affichage, pour chaque ligne, les champs
(les données) n'ont pas la mème longueur.
Donc il me faut un champ par colonne pour que tout soit bien aligné !