Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

Fallo tonto (creo) pero que no alcanzo a ver...

Estas en el tema de Fallo tonto (creo) pero que no alcanzo a ver... en el foro de Bases de Datos General en Foros del Web. Tengo un formulario recursivo en PHP, que al enviarse, toma las variables del formulario y las inserta en una base de datos, el problema que ...
  #1 (permalink)  
Antiguo 16/03/2005, 06:09
 
Fecha de Ingreso: marzo-2005
Mensajes: 197
Antigüedad: 19 años, 3 meses
Puntos: 1
Fallo tonto (creo) pero que no alcanzo a ver...

Tengo un formulario recursivo en PHP, que al enviarse, toma las variables del formulario y las inserta en una base de datos, el problema que tengo es que el campo fecha no se inserta correctamente, es decir, si escribo el valor '16-03-2005' en el campo fecha, $_POST["fecha"] es distinto, dado que el valor que me inserta en la tabla (MySQL) es otro.

¿Alguien sabe por qué o a que puede ser debido?

Gracias por las molestias.
  #2 (permalink)  
Antiguo 16/03/2005, 06:13
 
Fecha de Ingreso: diciembre-2004
Mensajes: 120
Antigüedad: 19 años, 5 meses
Puntos: 0
Seguramente te estara cogiendo la fecha en formato mes-dia-año, que es que normalmente usan en inglés, o alguna cosa asi, y por eso te aparece diferente.
Prueba a darle formato antes de subirlo.
  #3 (permalink)  
Antiguo 16/03/2005, 06:31
 
Fecha de Ingreso: marzo-2005
Mensajes: 197
Antigüedad: 19 años, 3 meses
Puntos: 1
El formato (creo) es: yyyy-mm-dd, según he podido ver en el el phpMyAdmin.

A la hora de intentar cambiar el registro, en la consulta de selección, desgloso la fecha tal que así:

Código PHP:
$s="SELECT YEAR(fecha) AS ano,MONTH(fecha) AS mes,DAYOFMONTH(fecha) AS dia, campo1, ..., campo n FROM tabla WHERE id='".$id."'"
Y a la hora de visualizarlo en el input, escribo el value de este modo:

Código:
<input type="text" neme="fecha" value="<?php echo $v["dia"]."-".$v["mes"]."-".$v["ano"];?>">
Al salir los datos mal se me ocurre que entonces lo que falla es la inserción, ¿no?

Sé que podría solucionarlo en la página de inserción si pongo tres <select> (dia, mes, ano) e inserto en la consulta una variable $fecha, que sea igual a $_POST["dia"]."-".$_POST["mes"]."-".$_POST["ano"].

Sólo quería saber si habría algún otro modo.
  #4 (permalink)  
Antiguo 16/03/2005, 08:50
 
Fecha de Ingreso: diciembre-2004
Mensajes: 120
Antigüedad: 19 años, 5 meses
Puntos: 0
Bueno, vamos por partes.
Primero, en el input pon que es de tipo "date" no "text".
Luego, si te sigue sin insertar la fecha bien, simplemente reordenala de forma que sea comprensible para mysql. Algo así:

<?php
/* Suponiendo que la fecha esta separada con guiones (-) */
$fechatrozos=explode('-',$fechaphp);
$fechamysql=$fechatrozos[2]."-".$fechatrozos[1]."-".$fechatrozos[0];
?>
  #5 (permalink)  
Antiguo 16/03/2005, 10:08
 
Fecha de Ingreso: marzo-2005
Mensajes: 197
Antigüedad: 19 años, 3 meses
Puntos: 1
Gracias, finalmente funcionó.
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 09:04.