Tratamiento de Horas y Minutos(TIME)
Publicado por
Yuniesky (1 intervención) el 07/11/2008 14:36:22
Hola amigos del foro: Tengo una BD en PostgreSQL, en la cual tengo una tabla con un campo llamado "hora_incidencia". trabajo con PHP como lenguaje del cliente y para dar entrada a la hora_incidencia, en mi formulario cree dos combos de selección, uno para elegir la hora y el otro para los minutos, ahora bien,yo capturo mediante $_POST los valores de esos dos combos y los concatenocon el caracter ":"en el medio, para insertarlo en el valor de hora_ocurrencia, pero me da un error ...
$sel_hora = $db->qstr($_POST['sel_hora'], $magic_quotes);
$sel_minuto= $db->qstr($_POST['sel_minuto'], $magic_quotes);
$hora_incidencia=$sel_hora.":".$sel_minuto;
$sql="INSERT INTO reg_incidencias (usuario,fecha_ocurrencia,hora_ocurrencia,incidencia,desc_incidencia,fecha_registro,hora_registro) VALUES ($txtNombre,$txtFecha,$hora_incidencia,$sel_incidencia,$txtDesc,'$fecha_registro','$hora_registro')";
$rs=$db->Execute($sql) or die($db->ErrorMsg());//or $mensaje=$db->ErrorMsg() ;//print "Ya existe la persona en la Base de Datos."
$mensaje="El Registro de Incidencia ha sido insertado satisfactoriamente.";
el error que me da cuando le hago submit a la pagina al ejecutarse la sentencia del insert es:
'03''13'''ERROR: syntax error at or near ":"
LINE 1: ...VALUES ('Yuniesky Borjas Rdguez','12-12-2008','03':'13','3',...
^
el problema es que cuando le hago ECHO a la var $hora_incidencia para ver que me imprime me pone: '03':'13', es decir toma la hora'03' y los minutos '13' como si fueran doa cadenas separadas unidas por ':', y a la hora del insert eso da error contra el campo hora_incidencia de la BD que es de tipo TIME..
Sin embargo, probe capturar la hora con un textField (Edit)donde el ususario la inserta manualmente como es para el formato TIME de la BD: el usuario teclea"03:13" y lo capturo mediante el $_POST igualemente y si me lo toma como una sola cadena que cuando le hago ECHO me imprime '03:13', y este valor si se inserta perfectamente en la BD haciendo correspondencia esa cadena con el tipo TIME de la BD de Postgre..entonces, necesito que alguien me aclare que debo hacer para yo poder capturar la Hora como es debido mediante el uso de combos de seleccion como he estado intentando y concatenar con el caracter de ':' y a su vez me cree una cadena unica con el formato '00:00', que pueda yo insertar como campo hora_incidencia en la tabla de la BD de postgre?????
Gracias de antemano.