Foros del Web » Programando para Internet » PHP »

Guardar fechas en MySQL con PHP

Estas en el tema de Guardar fechas en MySQL con PHP en el foro de PHP en Foros del Web. Qué tal: Tengo un formulario en html que me envía datos mediante POST a php. Tengo un campo fecha controlado por un calendario en jquery. ...
  #1 (permalink)  
Antiguo 13/04/2010, 11:30
 
Fecha de Ingreso: marzo-2010
Ubicación: Guadalajara, Jal
Mensajes: 91
Antigüedad: 14 años, 1 mes
Puntos: 1
Guardar fechas en MySQL con PHP

Qué tal:

Tengo un formulario en html que me envía datos mediante POST a php. Tengo un campo fecha controlado por un calendario en jquery. Al enviar la información de mi formulario y capturarla en php la fecha la almacena con el formato:

mm-dd-yyyy

y al momento de consultar la base de datos, el campo fecha me aparece así:

0000-00-00

ya intenté con el siguiente código:

list($m, $d, $y) = split("/", $_POST['fecha']);
$fecha = $y . "/" . $d . "/" . $m;
echo "fecha_cambio: " . $fecha;

si el usuario elige 04/28/2010, por ejemplo, al imprimir $fecha me la imprime bien:

2010/28/04

pero en la base de datos la guarda así: [fecha] => 04/28/2010

y por ende el campo fecha me aparece vacio: 0000-00-00.

Alguna idea para solucionar este problema???


Gracias
  #2 (permalink)  
Antiguo 13/04/2010, 11:36
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Tokyo - Japan !
Mensajes: 3.867
Antigüedad: 14 años, 6 meses
Puntos: 334
Respuesta: Guardar fechas en MySQL con PHP

bueno eso es por que le pones / en ves de -

intentalo asi
Código PHP:
Ver original
  1. echo date("Y-m-d", strtotime($_POST['fecha']));
__________________
More about me...
~ @rhyudek1
~ Github
  #3 (permalink)  
Antiguo 13/04/2010, 11:37
 
Fecha de Ingreso: abril-2010
Mensajes: 115
Antigüedad: 14 años
Puntos: 2
Respuesta: Guardar fechas en MySQL con PHP

es ke la fecha se captura
aaaa/mm/dd
si cambias la simple camptura en el form con eso deberia de funcionar
  #4 (permalink)  
Antiguo 13/04/2010, 12:17
 
Fecha de Ingreso: marzo-2010
Ubicación: Guadalajara, Jal
Mensajes: 91
Antigüedad: 14 años, 1 mes
Puntos: 1
Respuesta: Guardar fechas en MySQL con PHP

Gracias por las prontas respuestas:

Intenté las dos opciones que me muestran y me pasa lo siguiente:

El POST captura esto: 04/15/2010

Esto lo imprime despues de haber cambiado la "/" por "-":
fecha_cambio: 2010-04-15

y por último esto es lo que me guarda en la base de datos:
[fecha] => 04/15/2010

El código usado fue éste:

$fecha = date("Y-m-d", strtotime($_POST['fecha']));
echo "fecha_cambio: " . $fecha;




Gracias nuevamente.
  #5 (permalink)  
Antiguo 13/04/2010, 12:19
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Tokyo - Japan !
Mensajes: 3.867
Antigüedad: 14 años, 6 meses
Puntos: 334
Respuesta: Guardar fechas en MySQL con PHP

debes tener tu campo en la base de datos con formato date no varchar ni nada de texto
__________________
More about me...
~ @rhyudek1
~ Github
  #6 (permalink)  
Antiguo 13/04/2010, 12:30
Avatar de egepe  
Fecha de Ingreso: diciembre-2009
Mensajes: 310
Antigüedad: 14 años, 4 meses
Puntos: 7
Respuesta: Guardar fechas en MySQL con PHP

Sino pica la variable utilizando $yyyy = substr($fech, 0, 4); $mm = substr($fech, 5, 2); $dd = substr($fech, 8, 2); por ejemplo y luego pegas toda a otra variable y es la guarda.

Muy carpintera la solucion pero fuciona...
  #7 (permalink)  
Antiguo 13/04/2010, 12:31
 
Fecha de Ingreso: marzo-2010
Ubicación: Guadalajara, Jal
Mensajes: 91
Antigüedad: 14 años, 1 mes
Puntos: 1
Cita:
Iniciado por Hidek1 Ver Mensaje
debes tener tu campo en la base de datos con formato date no varchar ni nada de texto
Exactamente, el tipo de dato lo tengo como date.

El problema lo tengo en el campo sobre el cual utilizo un calendario jquery, tengo otro campo fecha pero utilizo una caja de texto normal donde le indico al usuario ingresar fecha en formato "yyyy-mm-dd" y no me da problema, lo almacena perfectamente en la BD.

El inconveniente está en este campo, y el requerimiento del cliente es utilizar calendarios en lugar de una simple caja de texto.

Cita:
Iniciado por egepe Ver Mensaje
Sino pica la variable utilizando $yyyy = substr($fech, 0, 4); $mm = substr($fech, 5, 2); $dd = substr($fech, 8, 2); por ejemplo y luego pegas toda a otra variable y es la guarda.

Muy carpintera la solucion pero fuciona...
Gracias por tu respuesta, lo intenté pero me sigue guardando la fecha que captura en $_POST. Estoy pensando que tiene qué ver con algo de jquery pero no tengo idea de qué pueda ser.

Última edición por GatorV; 13/04/2010 a las 13:26
  #8 (permalink)  
Antiguo 13/04/2010, 12:53
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Tokyo - Japan !
Mensajes: 3.867
Antigüedad: 14 años, 6 meses
Puntos: 334
Respuesta: Guardar fechas en MySQL con PHP

mmm en realidad nada q ver con jquery... solo pega el codigo completo que usas y te digo q pasa
__________________
More about me...
~ @rhyudek1
~ Github
  #9 (permalink)  
Antiguo 13/04/2010, 13:06
 
Fecha de Ingreso: marzo-2010
Ubicación: Guadalajara, Jal
Mensajes: 91
Antigüedad: 14 años, 1 mes
Puntos: 1
Respuesta: Guardar fechas en MySQL con PHP

Cita:
Iniciado por Hidek1 Ver Mensaje
mmm en realidad nada q ver con jquery... solo pega el codigo completo que usas y te digo q pasa
Ok

function guardar(){

$fecha_1 = $_POST['fec_estim_cambio_1'];

list($m, $d, $y) = split("/", $fecha_1);
$fec_estim_cambio = $y . "-" . $m . "-" . $d;

$rsql = "INSERT INTO tabla(fecha) VALUES ($fec_estim_cambio);
$res = mysql_query($rsql) or die("Error: " .mysql_error());

}

if(isset($_POST['enviar'])){
guardar();
}//fin if post


<form method="post" action="prueba.php">
.
.
.
<input type="text" id="algo" name="fecha"></input>
.
.
.
<td colspan="2" align="center"><input type="submit" value="Enviar datos" name="enviar"></input></td>
.
.
</html>


Lo resumí lo más que pude, mi código completo excede las 1000 líneas.

Muchas gracias!
  #10 (permalink)  
Antiguo 13/04/2010, 13:14
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Tokyo - Japan !
Mensajes: 3.867
Antigüedad: 14 años, 6 meses
Puntos: 334
Respuesta: Guardar fechas en MySQL con PHP

para tener en cuenta

Cita:
split() : This function has been DEPRECATED as of PHP 5.3.0. Relying on this feature is highly discouraged.
lo otro

agregale las comillas
Código PHP:
Ver original
  1. $rsql = "INSERT INTO tabla(fecha) VALUES ('$fec_estim_cambio')";

saludos!
__________________
More about me...
~ @rhyudek1
~ Github
  #11 (permalink)  
Antiguo 13/04/2010, 14:17
 
Fecha de Ingreso: marzo-2010
Ubicación: Guadalajara, Jal
Mensajes: 91
Antigüedad: 14 años, 1 mes
Puntos: 1
Respuesta: Guardar fechas en MySQL con PHP

Cita:
Iniciado por Hidek1 Ver Mensaje
para tener en cuenta



lo otro

agregale las comillas
Código PHP:
Ver original
  1. $rsql = "INSERT INTO tabla(fecha) VALUES ('$fec_estim_cambio')";

saludos!
Pues muchas gracias por su ayuda en general, en especial esta respuesta me ayudó bastante, además de agregar las ' ' me faltaba por ahí unos cuántos símbolos raros: ' " . $fecha . " ', exactamente esto fue lo que solucionó mi problema, muchas gracias nuevamente.

Etiquetas: fechas, 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 07:39.