Foros del Web » Programando para Internet » PHP »

Problema en una consulta con SQL

Estas en el tema de Problema en una consulta con SQL en el foro de PHP en Foros del Web. Hola a todos espero puedan ayudarme, de verdad se lo agradecere mucho. Mi problema es el siguiente tengo una Tabla donde hay dos campos uno ...
  #1 (permalink)  
Antiguo 28/01/2008, 15:00
 
Fecha de Ingreso: febrero-2003
Ubicación: Distrito Federal
Mensajes: 26
Antigüedad: 21 años, 2 meses
Puntos: 0
Problema en una consulta con SQL

Hola a todos espero puedan ayudarme, de verdad se lo agradecere mucho. Mi problema es el siguiente tengo una Tabla donde hay dos campos uno llamado Hora int(4) y otro Minutos int (4), el problema es cuando solicito una consulta para que me muestre resultados en un cierto perido de hora, ejemplo: Dame los registros que son de las 8:30 a 15:30, los divido de la siguiente manera
8(var_hora) 30(var_minuto) 15(var_hora2) 30(var_minuto2), cuando var_minuto y var_minuto2 son iguales a cero mi consulta es la siguiente:
Código HTML:
$result_recados = mssql_query("SELECT * FROM [$nom_tabla2] WHERE ((DIA=$var_dia) AND (MES=$var_mes) AND (ANO=$var_ano) AND (HORA>=$var_hora AND HORA<$var_hora2)) ORDER BY HORA ASC");
el problema es cuando var_minuto y var_minuto2 son distintos a cero, no se como mostrar la informacion ya intente varias consultas pero no me da los resultados esperados. Espero me puedan ayudar, de antemano Gracias. Saludos
  #2 (permalink)  
Antiguo 28/01/2008, 17:05
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
Re: Problema en una consulta con SQL

creo que la mejor manera de resolver el problema es que utilices un campo de tipo time para guardar la hora los minutos y hasta los segundos y para realizar la consulta del periodo de tiempo usas el between
Código:
SELECT * FROM tabla WHERE hora BETWEEN $var1 AND var2;
espero, que esto te de una idea.

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.
  #3 (permalink)  
Antiguo 28/01/2008, 18:05
 
Fecha de Ingreso: febrero-2003
Ubicación: Distrito Federal
Mensajes: 26
Antigüedad: 21 años, 2 meses
Puntos: 0
Re: Problema en una consulta con SQL

Si muchas gracias ya entendi ese punto el problema es que necesito hacerlo de forma separada, de cualquier forma gracias por la colaboracion.
  #4 (permalink)  
Antiguo 28/01/2008, 18:19
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
Re: Problema en una consulta con SQL

bien, ya que es necesario hacerlo así, te presento una forma, de antemano te digo, no se si vaya a funcionar porque no se como trabaje mssql(supongo que igual a mysql) pero no pierdes nada intentandolo.
Código PHP:
$result_recados mssql_query("SELECT * FROM [$nom_tabla2] WHERE ((DIA=$var_dia) AND (MES=$var_mes) AND (ANO=$var_ano) AND (HORA BETWEEN $var_hora AND $var_hora2) AND (MINUTOS BETWEEN $var_minuto AND $var_minuto2)) ORDER BY HORA ASC"); 
checas los parentesis, porsi me falto alguno, es que me perdí entre tantos

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.
  #5 (permalink)  
Antiguo 28/01/2008, 18:51
jpeeri
Invitado
 
Mensajes: n/a
Puntos:
Re: Problema en una consulta con SQL

¿Por qué tienes que hacerlo separado? Solo pregunto :)
  #6 (permalink)  
Antiguo 29/01/2008, 10:18
 
Fecha de Ingreso: febrero-2003
Ubicación: Distrito Federal
Mensajes: 26
Antigüedad: 21 años, 2 meses
Puntos: 0
Re: Problema en una consulta con SQL

Hola primeramente muchas gracias por conestar a eits y jpeeri, mira eits ya intente como me lo dices el problema es cuando var_minuto y var_minuto2 son iguales, por ejemplo: 8:40 15:40 son los mismos los minutos y cuando se ejecuta la consulta no me da ningun resultado. por eso acudo aqui al foro y contestando a jpeeri necesito hacerslo de esa manera puesto que los usuarios necesitan tener separados esos campos para poder manipular la hora y minutos. Help please...................... , agradeceria mucho que me pudieran apoyar con esto
  #7 (permalink)  
Antiguo 29/01/2008, 10:30
Avatar de eulloa  
Fecha de Ingreso: octubre-2007
Ubicación: Donde caiga la noche, si mi hijo me deja
Mensajes: 691
Antigüedad: 16 años, 6 meses
Puntos: 5
Re: Problema en una consulta con SQL

Solo curiosidad ¿con la hora no te hace lo mismo?
  #8 (permalink)  
Antiguo 29/01/2008, 11:08
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
Re: Problema en una consulta con SQL

cambia el AND por OR
Código PHP:
$result_recados mssql_query("SELECT * FROM [$nom_tabla2] WHERE ((DIA=$var_dia) AND (MES=$var_mes) AND (ANO=$var_ano) AND (HORA BETWEEN $var_hora AND $var_hora2) OR (MINUTOS BETWEEN $var_minuto AND $var_minuto2)) ORDER BY HORA ASC"); 
perdona que insista con lo del campo time, pero puedes manipular los datos por separado aunque se guarden el un mismo campo, por ejempplo tu puedes pedir la hora y los minutos a parte y al momento de guardar simplemente los unes y si quieres mostrarlos por separado puedes usar split o explode para dividir el contenido en horas y minutos y poder manipularlos individualmente y te es mas facil hacer la consulta.

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.

Última edición por eits; 29/01/2008 a las 18:51
  #9 (permalink)  
Antiguo 29/01/2008, 18:08
 
Fecha de Ingreso: febrero-2003
Ubicación: Distrito Federal
Mensajes: 26
Antigüedad: 21 años, 2 meses
Puntos: 0
Re: Problema en una consulta con SQL

Hola, gracias por contestar a eulloa le digo que efectivamente con la hora me hace lo mismo pero eso no me interesa como el caso de los minutos, cuando es por la hora antes de hacer la ejecucion de la consulta solo verifico que no sean iguales y si lo son pues entonces no ejecuta la consulta, mi problema es con los minutos. Bueno para eits, la situacion es que si cambio el and por un or, no me ejecuta la consulta tal cual, me manda registros que no estan bajo el criterio de busqueda qu estoy pidiendo. Ayuda....................

Nota: me gustaria meter entonces la informacion en un tipo de dato time pero resulta ser que SQL Server no tiene ese tipo de dato ¿como le hago?
  #10 (permalink)  
Antiguo 30/01/2008, 11:51
 
Fecha de Ingreso: febrero-2003
Ubicación: Distrito Federal
Mensajes: 26
Antigüedad: 21 años, 2 meses
Puntos: 0
Re: Problema en una consulta con SQL

Ke alguien me ayude porfis.................................
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 18:37.