Voici un code tout simple pour créer en php une liste déroulante qui affiche les 12 mois de l’année. Ce code est utile pour les développeurs qui font beaucoup appel aux fonctions dates.
Le deal du jour est donc d’avoir une liste déroulante des mois (on peut avoir une pour les jours, pour des marques, …)
Créons un fichier qu’on nomme « _ListeMois.php », dont voici le code :
/**
* Construction de la liste de choix du mois
* @param Array $month Liste des mois en français
* @param String $sSelect Code HTML d'une balise SELECT
* @param String $sOption Code HTML d'une balise OPTION
* @param Int $selectedDate Mois récupér
* @return String Code complet de la liste de sélection.
*/
function SelectMois($month, $sSelect, $sOption, $selectedDate = null)
{
$options = '';
for($i = date('01'); $i <= 12; $i++) { $value = sprintf("%02d",$i); if(!is_null($selectedDate) && $selectedDate == $value) { $value .= '" selected="selected'; } $label = $month[(int)$i]; $options .= sprintf($sOption, $value, $label); } $select = sprintf($sSelect, $options); return $select; } /* un array des mois */ $month = array( 1 => 'Janvier',
2 => 'Février',
3 => 'Mars',
4 => 'Avril',
5 => 'Mai',
6 => 'Juin',
7 => 'Juillet',
8 => 'Août',
9=> 'Septembre',
10=> 'Octobre',
11 => 'Novembre',
12 => 'Décembre'
);
/**
* Code de la liste de sélection
*/
$sSelect = <<
%s
CODE_HTML;
/**
* Code pour une option de sélection
*/
$sOption = <<%s
CODE_HTML;
$selectedDate = date("m");
// Recherche de la date du jour
$current_month = date('m');
$current_year = date('Y');
$listeChoix = SelectMois($month, $sSelect, $sOption, $selectedDate);
echo($listeChoix);
Le principe est très simple, un array des mois et puis une boucle sur les mois …
Dans la page php où on veut insérer cette liste déroulante :
$this->load->view('tools/_ListeMois');
Pour insérer la liste des mois j’ai utilisé une syntaxe CodeIgniter mais c’est aussi possible bien sûre avec un Include.
Vous pouvez consulter les articles de la catégorie PHP & Web pour plus de tutoriaux et plus d’aides.