CSS dans liste déroulante

Résolu
janmar Messages postés 154 Statut Membre -  
o_edo1 Messages postés 31 Date d'inscription   Statut Membre Dernière intervention   -
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

  1. o_edo1 Messages postés 31 Date d'inscription   Statut Membre Dernière intervention   20
     
    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
  2. janmar Messages postés 154 Statut Membre 3
     
    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
  3. janmar Messages postés 154 Statut Membre 3
     
    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
  4. o_edo1 Messages postés 31 Date d'inscription   Statut Membre Dernière intervention   20
     
    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