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

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

Voici un code tout simple pour créer une liste déroulante de 12 mois. 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.


3 click solutions

3 Click Solutions est une agence web, mobile et de formation. Spécialisée dans le web design, création site web dynamique, site web e-commerce, community management et le référencement web mais aussi des applications mobiles Androïdes et de formation en SIG