Créer unr liste déroulante à 3 colonnes
Résolu
malabarbe
Messages postés
127
Date d'inscription
Statut
Membre
Dernière intervention
-
caccia Messages postés 95 Date d'inscription Statut Membre Dernière intervention -
caccia Messages postés 95 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je voudrais créer unr liste déroulante a 3 colonnes de
façon a y intégrer des champs de la base de données.
Et que le lien agisse sur la ligne complète c'est a dire
les 3 colonnes en mème temps.
Je galère depuis des lustres pour y parvenir mais pas
de résultats probants !
Merci pour un gros coup de main.
Je voudrais créer unr liste déroulante a 3 colonnes de
façon a y intégrer des champs de la base de données.
Et que le lien agisse sur la ligne complète c'est a dire
les 3 colonnes en mème temps.
Je galère depuis des lustres pour y parvenir mais pas
de résultats probants !
Merci pour un gros coup de main.
A voir également:
- Créer unr liste déroulante à 3 colonnes
- Liste déroulante excel - Guide
- Liste déroulante en cascade - Guide
- Comment créer un groupe whatsapp - Guide
- Créer un compte google - Guide
- Créer un lien pour partager des photos - Guide
6 réponses
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>
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?
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>.
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
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é !