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

Insertar la Hora

Estas en el tema de Insertar la Hora en el foro de Mysql en Foros del Web. Hoooola de nuevo Tengo un pequeño problemita, necesito insertar la hora en una tabla y la obtengo de un formulario $hora=$_POST['hora']; $ampm=$_POST['am_pm']; $tiempo=$hora.':00 '.$ampm; //Quedaria ...
  #1 (permalink)  
Antiguo 18/04/2006, 11:57
 
Fecha de Ingreso: septiembre-2005
Mensajes: 141
Antigüedad: 18 años, 7 meses
Puntos: 0
Pregunta Insertar la Hora

Hoooola de nuevo

Tengo un pequeño problemita, necesito insertar la hora en una tabla y la obtengo de un formulario

$hora=$_POST['hora'];
$ampm=$_POST['am_pm'];

$tiempo=$hora.':00 '.$ampm; //Quedaria 10:00:00 p.m. x ej.

Lo que hago es formar la cadena $tiempo para luego hacer la inserción en la tabla, pero no funciona, alguna sugerencia??????

Gracias
__________________
:ojotes: A n I t A :ojotes:
  #2 (permalink)  
Antiguo 18/04/2006, 13:15
Avatar de deadlykyo  
Fecha de Ingreso: noviembre-2005
Ubicación: Cbba - Bolivia
Mensajes: 747
Antigüedad: 18 años, 4 meses
Puntos: 5
Holas Anita Rubio, primero que nada, seria bueno que nos des informacion de tu tabla donde deseas hacer la insercion, de que tipo es el campo donde insertas la hora (TIME,VARCHAR,DATETIME), otro cosa es tambien que el formato de tiempo que maneja MySQL es HH:MM:SS (10:00:00 o 15:00:00 o 23:55:30), y tambien puede ser que haya algo malo en la consulta, si muestras la consulta, podriamos tener una mejor idea de que es lo que falla, cya
__________________
"El Conocimiento es de todos, no solo de algunos"
  #3 (permalink)  
Antiguo 18/04/2006, 13:26
 
Fecha de Ingreso: septiembre-2005
Mensajes: 141
Antigüedad: 18 años, 7 meses
Puntos: 0
Pues en la tabla el tipo de dato es time.

Y como comente, en la pagina se selecciona la hora, y yo formo la cadena, y queda de la siguiente manera: 05:00:00 p.m.

Eso esta contenido en una variable que uso para hacer la insercion en la tabla, pero lo que me aparece en la tabla es 12:00:00 a.m.

$insertar= "INSERT INTO cancha (NoCancha, Fecha, Hora) values ('$nocancha','$fecha','$tiempo')";

Nop sé si el problema sea el formato, yo le concateno a la hora el a.m y p.m pero realmente no sé si eso sea correcto.
__________________
:ojotes: A n I t A :ojotes:
  #4 (permalink)  
Antiguo 18/04/2006, 14:25
Avatar de deadlykyo  
Fecha de Ingreso: noviembre-2005
Ubicación: Cbba - Bolivia
Mensajes: 747
Antigüedad: 18 años, 4 meses
Puntos: 5
Te da error en la consulta?, no inserta nada ??, si te da error que error te esta mostrando, ahora si es que inserta pero no la hora correcta, es que le estas mandando la insercion de tu hora en un formato diferente al que usa MySQL, ahora lo que puedes hacer es insertar la hora en formato de mysql y a la hora de recuperar usas la funcion TIME_FORMAT() de mysql para que lo muestres en el formato que deseas HH:MM:SS AM|PM, saludos
__________________
"El Conocimiento es de todos, no solo de algunos"
  #5 (permalink)  
Antiguo 18/04/2006, 15:53
 
Fecha de Ingreso: septiembre-2005
Mensajes: 141
Antigüedad: 18 años, 7 meses
Puntos: 0
Muy bien, le quite lo de concatenarle a.m. y p.m., y ya inserta la hora que es, ahora el detallito es que siempre me marca que es a.m., que podria hacer al respecto????
__________________
:ojotes: A n I t A :ojotes:
  #6 (permalink)  
Antiguo 18/04/2006, 16:16
Avatar de deadlykyo  
Fecha de Ingreso: noviembre-2005
Ubicación: Cbba - Bolivia
Mensajes: 747
Antigüedad: 18 años, 4 meses
Puntos: 5
Aqui te doy una idea de que podrias hacer:
Código PHP:
//
//Para hacer la insercion
$hora=$_POST['hora'];
$ampm=$_POST['am_pm'];
if(
$ampm=="p.m.")
    
$tiempo=($hora+12).':00:00';
else
    
$tiempo=$hora.':00:00';

$insertar"INSERT INTO cancha (NoCancha, Fecha, Hora) values ('$nocancha','$fecha','$tiempo')";

//Para recuperar y mostrarlo en el formato que deseas
$select="SELECT TIME_FORMAT(Hora,'%I:%i:%s %p'); FROM cancha"
//eso te devuelve algo asi 05:30:00 PM 
suerte, cya
__________________
"El Conocimiento es de todos, no solo de algunos"
  #7 (permalink)  
Antiguo 18/04/2006, 16:53
Avatar de uamistad  
Fecha de Ingreso: diciembre-2004
Ubicación: Cd. de México
Mensajes: 1.395
Antigüedad: 19 años, 4 meses
Puntos: 1
Y antes de insertarlos, verifica que la información del usuario esté en el formato adecuado, de lo contrario, mándale un error personalizado, en lugar de que MySQL se lo diga a su manera.
__________________
"Di no al Internet Explorer" -Proverbio Chino-
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 15:36.