CSS dans liste déroulante

Résolu/Fermé
janmar Messages postés 148 Date d'inscription vendredi 17 mai 2013 Statut Membre Dernière intervention 29 août 2015 - 30 oct. 2014 à 10:25
o_edo1 Messages postés 28 Date d'inscription lundi 20 octobre 2014 Statut Membre Dernière intervention 11 juillet 2015 - 31 oct. 2014 à 01:28
Bonjour,


Je souhaite formater une liste déroulante. Je pensais qu'avec des class dans une balise span, je pourrai y arriver, mais à priori ça ne marche pas.
ci-après extrait de mon code.
Quelqu'un a-t-il une solution pour arriver au même résultat ?
D'avance merci.


<SELECT name="liste" size="30" style="background-color:#00FFFF;"
onchange="document.type.submit();">
<?php
WHILE ($donnees = $reponse->fetch())
{
$id{$i} = $donnees['id'];?>
<option value = "<?php echo $id{$i};?>" >
<?php echo $donnees['Nom'].' ';?>
<span class = "prenom" ><?php echo $donnees['Prenom'];?></span>
<span class = "annee" ><?php echo $donnees['annee'];?></span>
<span class = "parti" ><?php echo $donnees['parti'];?></span><?php
if($donnees['deces']!=0)
echo $donnees['deces'].' ';
if($donnees['parti'] !=0)
echo $donnees['parti'].' ';
?></option>
<?php
i = $i +1;
}
?>
</SELECT>

4 réponses

o_edo1 Messages postés 28 Date d'inscription lundi 20 octobre 2014 Statut Membre Dernière intervention 11 juillet 2015 20
30 oct. 2014 à 13:56
Tu te complique un peu la vie, mais tu y es presque (dans la boucle) :

$id = $donnees['id'];?>
<option class = "prenom" value = "<?php echo $id;?>" >
<?php $temp = $donnees['Nom'].' '. $donnees['Prenom'] .' ' .$donnees['annee'].' '. $donnees['parti'];
if($donnees['deces']!=0)
$temp .= " " .$donnees['deces'];
if($donnees['parti'] !=0)
$temp .= " ". $donnees['parti'];
echo $temp;
?></option>
<?php
$i++;
0
janmar Messages postés 148 Date d'inscription vendredi 17 mai 2013 Statut Membre Dernière intervention 29 août 2015 3
30 oct. 2014 à 17:38
Configuration: Mac OS X (10.10) / Firefox 33.0

Merci pour ta réponse.

J'ai du mal m'exprimer :
Quand je dis 'formater', je veux dire 'aligner' mes résultats par catégorie comme dans un tableau pour avoir une belle présentation de la liste.
C'est le but que je poursuis en mettant des <span class = "...">
Malheureusement, ça ne marche pas.

Je souhaite un résultat du genre :

Nom Prénom annee parti deces
Nom Prénom annee parti deces
Nom Prénom annee parti deces

car nom et prénom sont des chaines toutes de différentes longueurs, je me trouve donc avec une liste touffue et difficile à lire :

Sébastien Axxxxxxx 1990 2004 transféré
Luc Ayyy 1990 2000 parti
Jean-François Byyyyyyyy 1990 2000 parti
Marc cXXXXXXX 2000 2004
etc...

J'aurai préféré : (en introduisant du CSS)

Sébastien Axxxxxxx 1990 2004 transféré
Luc Ayyy 1990 2000 parti
Jean-François Byyyyyyyy 1990 2000 parti
Marc cXXXXXXX 2000 2004

J'espère avoir mieux posé le problème.

Merci.
0
janmar Messages postés 148 Date d'inscription vendredi 17 mai 2013 Statut Membre Dernière intervention 29 août 2015 3
30 oct. 2014 à 17:41
Excuse-moi, mais dans la réponse précédente, je n'ai pas réussi à aligner les noms, prénoms et la suite, mais je pense que tu as compris quand même.
0
o_edo1 Messages postés 28 Date d'inscription lundi 20 octobre 2014 Statut Membre Dernière intervention 11 juillet 2015 20
31 oct. 2014 à 01:28
Yes, j'ai compris ce que tu veux faire. Malheureusement tu ne peux pas mettre de balises HTML dans la balise option (car pas valide selon w3c). Par contre, tu peux mettre des   a la fin de chaque mot pour qu'il soit aligné dans par rapport à ceux d'en dessus et d'en dessous (à toi de voir combien tu as besoin de   pour chaque colonne).
0