Ver Mensaje Individual
  #12 (permalink)  
Antiguo 20/01/2013, 15:17
_El_Loco_22_
 
Fecha de Ingreso: agosto-2012
Ubicación: argentina
Mensajes: 27
Antigüedad: 11 años, 8 meses
Puntos: 0
Respuesta: Llamar value de un <select>

Cita:
Iniciado por andresdzphp Ver Mensaje
Si tu problema es convertir el mes Enero a 01, usa un array para reemplazarlo.

Código PHP:
Ver original
  1. $meses = array('Enero' => 01); //etc

Pero yo siento que estás haciendo las cosas al revés, ya que PHP puede hacer este proceso por tí.

formulario.php

Código PHP:
Ver original
  1. <!DOCTYPE html>
  2. <html lang="es-ES">
  3. <head>
  4. <meta charset="utf-8" />
  5. <title>Test</title>
  6. </head>
  7. <body>
  8. <form action="destino.php" method="post">
  9. <select name="dia">
  10. <option value="">Dia</option>
  11. <?php for ($i = 1; $i <= 31; $i++): ?>
  12. <option value="<?php echo ($i < 10) ? '0'.$i : $i; ?>"><?php echo ($i < 10) ? '0'.$i : $i; ?></option>
  13. <?php endfor; ?>
  14. </select>
  15. <select name="mes">
  16. <option value="">Mes</option>
  17. <option value="01">Enero</option>
  18. <option value="02">Febrero</option>
  19. <option value="03">Marzo</option>
  20. <option value="04">Abril</option>
  21. <option value="05">Mayo</option>
  22. <option value="06">Junio</option>
  23. <option value="07">Julio</option>
  24. <option value="08">Agosto</option>
  25. <option value="09">Septiembre</option>
  26. <option value="10">Octubre</option>
  27. <option value="11">Noviembre</option>
  28. <option value="12">Diciembre</option>
  29. </select>
  30. <select name="anio">
  31. <option value="">Año</option>
  32. <?php for ($i = 1910; $i <= 2013; $i++): ?>
  33. <option value="<?php echo $i; ?>"><?php echo $i; ?></option>
  34. <?php endfor; ?>
  35. </select>
  36. <input type="submit" value="Enviar" />
  37. </form>
  38. </body>
  39. </html>

destino.php

Código PHP:
Ver original
  1. <?php
  2.  
  3. $dia = $_POST['dia'];
  4. $mes = $_POST['mes'];
  5. $anio = $_POST['anio'];
  6.  
  7. $fecha = "$dia-$mes-$anio";
  8. setlocale(LC_ALL,"es_ES@euro","es_ES","esp");
  9. $fecha_completa = strftime("El %d de %B de %Y", strtotime($fecha));
  10.  
  11. echo "$fecha // $fecha_completa";



$fecha tiene el valor de 21-08-2013 y $fecha_completa el valor de El 21 de agosto de 2013.

Espero que así entiendas.

Saludos.
Hola, antes que nada quiero agradecerte por responder, yo ya tengo todo armado, para hacer lo que quiero, pero la fecha me sale asi Ej: 18/febrero/2013, lo cual esta bien por que yo luego lo dejo asi: el 18 de febrero del 2013, pero tambien lo quisiera poder dejar asi 18/2/2013, si lo remplazo con un array me quedaria de una sola forma, asi que esa no seria una opcion.
Respecto a este codigo:
Código:
<!DOCTYPE html>
<html lang="es-ES">
<head>
<meta charset="utf-8" />
<title>Test</title>
</head>
<body>
<form action="destino.php" method="post">
<select name="dia">
<option value="">Dia</option>
<?php for ($i = 1; $i <= 31; $i++): ?>
<option value="<?php echo ($i < 10) ? '0'.$i : $i; ?>"><?php echo ($i < 10) ? '0'.$i : $i; ?></option>
<?php endfor; ?>
</select>
<select name="mes">
<option value="">Mes</option>
<option value="01">Enero</option>
<option value="02">Febrero</option>
<option value="03">Marzo</option>
<option value="04">Abril</option>
<option value="05">Mayo</option>
<option value="06">Junio</option>
<option value="07">Julio</option>
<option value="08">Agosto</option>
<option value="09">Septiembre</option>
<option value="10">Octubre</option>
<option value="11">Noviembre</option>
<option value="12">Diciembre</option>
</select>
<select name="anio">
<option value="">Año</option>
<?php for ($i = 1910; $i <= 2013; $i++): ?>
creo que es el indicado, pero al hacerlo no me muestra nada en donde deberia estar la fecha, tambien quiero aclarar que este codigo esta mas completo (con el dia, mes, año) yo solo quiero hacerlo con los meses, es decir que "imprimir" los meses de dos formas diferentes, con numeros y meses (1, enero, 2, febrero, etc). Espero que se entienda, nuevamente les agradesco a todos por su ayuda. Saludos