Magazine Internet

Une fonction PHP pour afficher des listes déroulantes

Publié le 03 juillet 2008 par Avi Teboul

php 1Cette fonction n'a rien d'exceptionnel, elle va simplement vous aider à afficher des listes déroulantes de chiffres, je m'en sers surtout pour les champs date de naissance sur mes formulaires. J'ai ajouté quelques petites options pour certains cas de figure, comme ajouter un style css à la liste etc. ...

Liste déroulante pour afficher une liste de chiffres

<?php
function liste_deroul( $nom, $debut, $fin, $id, e="color: #66cc66;">].'">'.$_POST[$nom].'</option>';       
                        }
                        for ($i=$debut; $i<=$fin; $i++){
                                echo'<option value="'.$i.'">'.$i.'</option>';   
                        }
        echo'</select>';
}
?>

pour afficher la liste des 31 jours du mois faites par exemple :

<?php
 liste_deroul( 'jours', 1, 31, 'jours', 'date');
?>

facile non ? répétez-le pour la liste des mois de 1 à 12

et pour les années utilisez des variables !! Par exemple pour afficher la listes de années de naissance des 12 à 90 ans :

<?php $debut = $an-12;  $fin = $an-90; ?>
        <?php liste_deroul( 'aa' , $fin,  $debut, 'aa', 'dateP'); ?>

Autre dérivée, la même fonction qui récupère des valeurs passées en paramètres

<?php
function liste_deroul_edit( $nom, $debut, $fin, $id, $val, $class = 'dateP'){
        echo'<select name="'.$nom.'" size="1" id="'.#160;               if ( isset ( $_POST['submit'] ) ) {
                                echo'<option value="'.$_POST[$nom].'">'.$_POST[$nom].'</option>';       
                        }
                        for ($i=$debut; $i<=$fin; $i++){
                                echo'<option value="'.$i.'">'.$i.'</option>';   
                        }
        echo'</select>';
}
?>

pour afficher la liste des 31 jours du mois faites par exemple :

<?php
 liste_deroul( 'jours', 1, 31, 'jours', 'date');
?>

facile non ? répétez-le pour la liste des mois de 1 à 12

et pour les années utilisez des variables !! Par exemple pour afficher la listes de années de naissance des 12 à 90 ans :

<?php $debut = $an-12;  $fin = $an-90; ?>
        <?php liste_deroul( 'aa' , $fin,  $debut, 'aa', 'dateP'); ?>

Autre dérivée, la même fonction qui récupère des valeurs passées en paramètres

<?php
function liste_deroul_edit( $nom, $debut, $fin, $id, $val, $class = 'dateP'){
        echo'<select name="'.$nom.'" size="1" id="'.$id.'" class="'.$class.'" >';
                                echo'<option value="'.$val.'">'.$val.'</option>';       
                        for ($i=$debut; $i<=$fin; $i++){
                                echo'<option value="'.$i.'">'.$i.'</option>';   
                        }
        echo'</select>';
}
?>

Cas concret : après l'inscription je veux récupérer le jour de naissance d'un membre qui édite son profil !

<?php
$val = 25; //résultats issus d'une requête !!
liste_deroul_edit('jours', 1, 31, 'jours', $val, 'date');
?>

Retour à La Une de Logo Paperblog

LES COMMENTAIRES (1)

Par inata
posté le 25 mai à 23:26
Signaler un abus

salut merci pour l'aide que vous proposer , ajouter + d'aide pour les débutant

A propos de l’auteur


Avi Teboul 600 partages Voir son profil
Voir son blog

l'auteur n'a pas encore renseigné son compte l'auteur n'a pas encore renseigné son compte