Foros del Web » Programando para Internet » PHP »

Como concatenar texto para formato de fecha

Estas en el tema de Como concatenar texto para formato de fecha en el foro de PHP en Foros del Web. Bueno amigos espero puedan ayudarme, resulta que debo guardar una fecha ingresada en un formulario, las fechas son obtenidas por medio de 3 select (dia, ...
  #1 (permalink)  
Antiguo 02/05/2011, 10:06
 
Fecha de Ingreso: julio-2010
Ubicación: Chillan, Chile
Mensajes: 60
Antigüedad: 13 años, 8 meses
Puntos: 1
Exclamación Como concatenar texto para formato de fecha

Bueno amigos espero puedan ayudarme, resulta que debo guardar una fecha ingresada en un formulario, las fechas son obtenidas por medio de 3 select (dia, mes, año) y esta fecha quiero guardarla en una BD MySql, comprobé que el formato de la fecha es aaaa-mm-dd, pero al concatenar la fecha se introduce un salto de linea, espero me corrijan o puedan ayudar.

el código que tengo es el sgte:
en el formulario de llenado

Código PHP:
Ver original
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  5. <title>Documento sin título</title>
  6. <form name="form1" method="post" action="GuardarFechas.php">
  7.   <table width="46%" border="1" align="center" cellpadding="2" cellspacing="1">
  8.     <tr>
  9.       <td width="41%">Nombre Animal</td>
  10.       <td width="59%"><label>
  11.         <input type="text" name="nombre_animal" id="nombre_animal">
  12.       </label></td>
  13.     </tr>
  14.     <tr>
  15.       <td>Fecha nacimiento</td>
  16.       <td><label>
  17.         <select name="dia" id="dia">
  18.           <option>dia</option>
  19.           <option>01</option>
  20.           <option>02</option>
  21.           <option>03</option>
  22.           <option>04</option>
  23.           <option>05</option>
  24.           <option>06</option>
  25.           <option>07</option>
  26.           <option>08</option>
  27.           <option>09</option>
  28.           <option>10</option>
  29.           <option>11</option>
  30.           <option>12</option>
  31.           <option>13</option>
  32.           <option>14</option>
  33.           <option>15</option>
  34.           <option>16</option>
  35.           <option>17</option>
  36.           <option>18</option>
  37.           <option>19</option>
  38.           <option>20</option>
  39.           <option>21</option>
  40.           <option>22</option>
  41.           <option>23</option>
  42.           <option>24</option>
  43.           <option>25</option>
  44.           <option>26</option>
  45.           <option>27</option>
  46.           <option>28</option>
  47.           <option>29</option>
  48.           <option>30</option>
  49.           <option>31</option>
  50.         </select>
  51.         <select name="mes" id="mes">
  52.           <option selected="selected">mes</option>
  53.           <option>enero</option>
  54.           <option>febrero</option>
  55.           <option>marzo</option>
  56.           <option>abril</option>
  57.           <option>mayo</option>
  58.           <option>junio</option>
  59.           <option>julio</option>
  60.           <option>agosto</option>
  61.           <option>septiembre</option>
  62.           <option>octubre</option>
  63.           <option>noviembre</option>
  64.           <option>diciembre</option>
  65.         </select>
  66.         <select name="anio" id="anio">
  67.           <option selected="selected">año</option>
  68.           <option>2011</option>
  69.           <option>2012</option>
  70.           <option>2013</option>
  71.           <option>2014</option>
  72.           <option>2015</option>
  73.           <option>2016</option>
  74.           <option>2017</option>
  75.           <option>2018</option>
  76.           <option>2019</option>
  77.           <option>2020</option>
  78.         </select>
  79.       </label></td>
  80.     </tr>
  81.     <tr>
  82.       <td>id</td>
  83.       <td><input type="text" name="id" id="id"></td>
  84.     </tr>
  85.     <tr>
  86.       <td colspan="2" align="center"><label>
  87.         <input type="submit" name="guardar" id="guardar" value="Enviar">
  88.       </label></td>
  89.     </tr>
  90.   </table>
  91. </form>

y el archivo de recepción para guardar en la BD "GuardarFechas.php"

Código PHP:
Ver original
  1. <?php
  2. echo $nombre_animal=$_POST['nombre_animal']."<br>";
  3. echo $dia=$_POST['dia']."<br>";
  4. echo $mes=$_POST['mes']."<br>";
  5. echo $anio=$_POST['anio']."<br>";
  6. echo $id=$_POST['id']."<br>";
  7.  
  8. //para transformar el mes en un número
  9. switch ($_POST['mes']){
  10. case 'enero': $mes="01"; break;
  11. case 'febrero': $mes="02"; break;
  12. case 'marzo': $mes="03"; break;
  13. case 'abril': $mes="04"; break;
  14. case 'mayo': $mes="05"; break;
  15. case 'junio': $mes="06"; break;
  16. case 'julio': $mes="07"; break;
  17. case 'agosto': $mes="08"; break;
  18. case 'septiembre': $mes="09"; break;
  19. case 'octubre': $mes="10"; break;
  20. case 'noviembre': $mes="11"; break;
  21. case 'diciembre': $mes="12"; break;
  22. }
  23. $fecha=$anio."-".$mes."-".$dia;
  24. echo "vista = $fecha";
  25. /*
  26. include("../../../Persistencia/conexion.php");
  27.  
  28. mysql_query("INSERT fechas ",$conecxion);
  29. */
  30. ?>

cuando imprime el archivo GuardarFechas.php la salida es

vista = 2015
-06-05

con el salto de linea que les mencionaba, de antemano muchas gracias por la ayuda.
  #2 (permalink)  
Antiguo 02/05/2011, 10:18
Avatar de bUllan9ebrio  
Fecha de Ingreso: enero-2011
Ubicación: Chile
Mensajes: 1.128
Antigüedad: 13 años, 2 meses
Puntos: 128
Respuesta: Como concatenar texto para formato de fecha

En vez de utilizar un switch, te recomiendo que en el select de mes le agregues values según corresponda el mes asi te evitas ese code al igual con los dias y años, estos últimos los puedes colocar dentro de un ciclo para que se generen solos , mas menos con 4 lineas de code te ahorras cada uno, respecto a la impresión no veo nada extraño


Sácale a esta linea :

Código PHP:
Ver original
  1. echo $anio=$_POST['anio']."<br>";

el <br> y verifica si te genera un salto
__________________
Si no vivimos como pensamos, pronto empezaremos a pensar como vivimos.
Más vale un Gracias sincero, que un número que aumente "popularidad" ¬¬°

Universidad de chile, campeón
  #3 (permalink)  
Antiguo 02/05/2011, 10:21
Avatar de eits  
Fecha de Ingreso: junio-2005
Ubicación: valladolid, yucatán
Mensajes: 1.655
Antigüedad: 18 años, 10 meses
Puntos: 88
Respuesta: Como concatenar texto para formato de fecha

primero te sugiero que los a los option de los selects los uses con el value, ejemplo:
Código HTML:
Ver original
  1. <option value="2011">2011</option>
y luego no les agregues el <br> eso hace que salten de línea
Código PHP:
Ver original
  1. echo $anio=$_POST['anio']."<br>";
ahora que si lo necesitas asi puedes volver a formar la fecha así:
Código PHP:
Ver original
  1. $fecha=$_POST['anio'].'-'.$_POST['mes'].'-'.$_POST['dia'];
saludos
__________________
El amor es la locura mas lucida que tiene el hombre.- Andres Henestrosa
la tristeza no existe, solo es... la ausencia de la felicidad.
  #4 (permalink)  
Antiguo 02/05/2011, 10:22
 
Fecha de Ingreso: enero-2011
Ubicación: DF
Mensajes: 898
Antigüedad: 13 años, 2 meses
Puntos: 155
Respuesta: Como concatenar texto para formato de fecha

a ver imprime $_POST y ponlo aqui para ver que es lo que estas capturando

Código PHP:
Ver original
  1. print_r($_POST);
__________________
No me interesan ni las gracias ni los karmas , pero si que se genere conocimiento, si se dio con la respuesta por favor confirmalo
  #5 (permalink)  
Antiguo 02/05/2011, 10:26
 
Fecha de Ingreso: julio-2010
Ubicación: Chillan, Chile
Mensajes: 60
Antigüedad: 13 años, 8 meses
Puntos: 1
Respuesta: Como concatenar texto para formato de fecha

Probando.....
  #6 (permalink)  
Antiguo 02/05/2011, 10:33
 
Fecha de Ingreso: julio-2010
Ubicación: Chillan, Chile
Mensajes: 60
Antigüedad: 13 años, 8 meses
Puntos: 1
De acuerdo Respuesta: Como concatenar texto para formato de fecha

Cita:
Iniciado por eits Ver Mensaje
primero te sugiero que los a los option de los selects los uses con el value, ejemplo:
Código HTML:
Ver original
  1. <option value="2011">2011</option>
y luego no les agregues el <br> eso hace que salten de línea
Código PHP:
Ver original
  1. echo $anio=$_POST['anio']."<br>";
ahora que si lo necesitas asi puedes volver a formar la fecha así:
Código PHP:
Ver original
  1. $fecha=$_POST['anio'].'-'.$_POST['mes'].'-'.$_POST['dia'];
saludos
Muchas gracias, el problema era el <br> me servia para imprimir el salto de linea pero a la ves se guardaba en la variable.

gracias ademas a bUllan9ebrio(a9Uante la T_T) y magurbon.

Etiquetas: concatenar, fecha, mysql
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:56.