Lista menu muestre los meses del año

Tengo un problema y espero me puedas ayudar necesito que una lista menu me despliegue los meses, hasta el momento los había estado manejando por numero (1,2,.. Hasta el 12) pero ahora necesito que se vea el nombre es decir enero, febrero, marzo etc.
El código que tengo es el siguiente:
<?php echo "<select name=\"mes\">";           
  for($mes=1; $mes<=12; $mes++){
       if (date("m") == $mes){ 
           echo "<option value=\"$mes\" selected>$mes</option>";
      }else {
              echo "<option value=\"$mes\">$mes</option>";
          }
          }
          echo"</select>";
            ?>
Bueno a primera vista la lista menu me muestra el 10 osea octubre (que es el mes en el que estamos) necesito que haga lo mismo pero con nombre es decir que por default aparezca el nombre del mes en el que se esta... Bueno espero haberme explicado..

1 respuesta

Respuesta
1
La solución es tan simple como tener un array con los meses del año:
<?php
   $meses = array();
   $meses[1] = "Enero";
   $meses[2] = "Febrero";
   $meses[3] = "Marzo";
   // etc... etc... (completa tu la lista de meses)
   echo "<select name=\"mes\">";           
   for($mes=1; $mes<=12; $mes++){
      if (date("m") == $mes){
         echo "<option value=\"$mes\" selected>$meses[$i]</option>";
      }
      else {
         echo "<option value=\"$mes\">$meses[$i]</option>";
      }
   }
   echo"</select>";
?>
Gracias por tu respuesta pero tengo otra duda, ¿Es posible que teniendo la selección de esta forma se pueda hacer una comparación con la fecha del sistema unicamente tomando el mes? Por que cuando le pido que me imprima el mes del sistema me lo da como numero no por nombre.
Buena esa es mi duda gracias por la solución que me diste
Dentro de un campo select, en concreto en cada option, debes tener en cuenta dos cosas, el valor y la etiqueta:
<option value='1'>Enero</option>
<option value='2'>Febrero</option>
...
<option value='valor'>Etiqueta</option>
Aunque se muestre el nombre del mes (Enero, Febrero, etc...) el valor que se procesa en el formulario es 1, 2, etc...
Así, los nombres de los meses son solo una ayuda al usuario. Realmente lo que estas usando como valor interno es su equivalente numérico.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas