Créer en PHP une liste déroulante de 12 mois

Créer en PHP une liste déroulante qui affiche les 12 mois de l’année

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.