PHP:¿Cómo obtener la fecha actual en listas desplegables HTML con la fecha de hoy seleccionada?

De Foros del Web

Código PHP:

<?php 
// etiqueta <form .... > y resto de campos necesarios .. 
 
// obtener la fecha en formato numérico dia . mes y año. 
$fecha_dia = date ("d"); 
$fecha_mes = date ("m"); 
$fecha_year = date ("Y"); 
 
// ya puestos .. generaremos el mes en formato "legible" y en castellano. 
// para eso usaremos un array con los nombres de los messes . índice comienzo en 1 
$meses_nombres=Array(1=>"Enero","Febrero","Marzo","Abril","Mayo","Junio","Julio","Agosto","Septiembre","Octubre","Noviembre","Diciembre"); 
 
// Ahora un bucle para generar dinámicamente los Options de un Select (de cada uno de día mes y año). 
// Si el nº de día (mes, año) coincide con el actual .. poner el tag "selected" ... 
 
// selección día 
echo "<select name=\"dia\">\n"; 
for ($contador=1; $contador <=31; $contador++){ 
   if ($fecha_dia==$contador){ 
     echo "<option value=\"".$contador."\" selected>".$contador."\n"; 
   }else{ 
     echo "<option value=\"".$contador."\">".$contador."\n"; 
   } 
} 
echo "</select>\n"; 
 
// Selección mes 
echo "<select name=\"mes\">\n"; 
for ($contador=1; $contador <=12; $contador++){ 
   if ($fecha_mes==$contador){ 
     echo "<option value=\"".$contador."\" selected>".$meses_nombres[$contador]."\n"; 
   }else{ 
     echo "<option value=\"".$contador."\">".$meses_nombres[$contador]."\n"; 
   } 
} 
echo "</select>\n"; 
 
// Selección año 
echo "<select name=\"year\">\n"; 
for ($contador=1995; $contador <=2004; $contador++){ 
   if ($fecha_year==$contador){ 
     echo "<option value=\"".$contador."\" selected>".$contador."\n"; 
   }else{ 
     echo "<option value=\"".$contador."\">".$contador."\n"; 
   } 
} 
echo "</select>\n"; 
// resto de etiquetas (tag) de formulario .. incluido botones y  
?> 

--Cluster 30 Ene 2003

Este artículo es parte de las FAQs de PHP y el Manual de PHP.

Herramientas personales