Foros del Web » Programando para Internet » PHP »

Consulta según fecha y hora

Estas en el tema de Consulta según fecha y hora en el foro de PHP en Foros del Web. Buenas, quiero hacer una consulta donde me muestre los datos según la fecha y hora seleccionadas....
  #1 (permalink)  
Antiguo 08/11/2009, 15:42
 
Fecha de Ingreso: julio-2005
Mensajes: 304
Antigüedad: 19 años, 4 meses
Puntos: 4
Consulta según fecha y hora

Buenas, quiero hacer una consulta donde me muestre los datos según la fecha y hora seleccionadas.
  #2 (permalink)  
Antiguo 08/11/2009, 16:00
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: Consulta según fecha y hora

Tienes que poner la condición buscada en el WHERE.
¿Qué problema tienes para hacerlo?

No nos estás dando información suficiente para darte consejos, ya que no nos describes con detalle el problema que se te presenta.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 09/11/2009, 14:11
 
Fecha de Ingreso: julio-2005
Mensajes: 304
Antigüedad: 19 años, 4 meses
Puntos: 4
Respuesta: Consulta según fecha y hora

El tema es que consultando con una fecha y hora previamente seleccionadas me busque si un dato se encuentra en la base de datos.
  #4 (permalink)  
Antiguo 09/11/2009, 14:15
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 9 meses
Puntos: 360
Respuesta: Consulta según fecha y hora

Código sql:
Ver original
  1. SELECT *FROM tabla WHERE fecha='fecha_seleccionada' AND hora = 'hora_seleccionada'
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #5 (permalink)  
Antiguo 09/11/2009, 18:15
 
Fecha de Ingreso: julio-2005
Mensajes: 304
Antigüedad: 19 años, 4 meses
Puntos: 4
Respuesta: Consulta según fecha y hora

Me explico mejor perdonad, pongo dos select uno para la fecha (dividido claro por dia, mes y año) y otro para la hora, envio y paso a otra página en la cual está el resto del formulario. Recogo los datos de esta manera:

Código:
$horareserva=$_POST["hora"];
$fechareserva=$_POST["anno"]."-".$_POST["mes"]."-"$_POST["dia"];
Pero al probar el código me sale una página en blanco.
  #6 (permalink)  
Antiguo 09/11/2009, 18:19
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 9 meses
Puntos: 360
Respuesta: Consulta según fecha y hora

no te explicas nada.
este foro es de BD y no se permite codigo php ni ningun otro lenguaje de programación a diferencia de SQL.

si crees que tu problema es de php pregunta en dicho foro, si crees que es de la consulta explicate mejor de lo que quieres hacer.

saludos lynxstyle
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #7 (permalink)  
Antiguo 09/11/2009, 20:03
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: Consulta según fecha y hora

Cita:
Iniciado por lynxstyle Ver Mensaje
Me explico mejor perdonad, pongo dos select uno para la fecha (dividido claro por dia, mes y año) y otro para la hora, envio y paso a otra página en la cual está el resto del formulario. Recogo los datos de esta manera:

Código:
$horareserva=$_POST["hora"];
$fechareserva=$_POST["anno"]."-".$_POST["mes"]."-"$_POST["dia"];
Pero al probar el código me sale una página en blanco.
Como dice Huesos52, esto no nos dice nada, porque esto es código PHP, y a nosotros nos interesa sólo el SQL.

El ejemplo dado por Huesos52:
Código sql:
Ver original
  1. SELECT *
  2. FROM tabla
  3. WHERE fecha='fecha_seleccionada' AND hora = 'hora_seleccionada'
Sería la forma correcta, cuando tienes una fecha y una hora determinadas. Si lo que tienes es un rango de tiempo, debes hacer la consulta de otra forma:

Código sql:
Ver original
  1. SELECT *
  2. FROM tabla
  3. WHERE (fecha BETWEEN '2009-10-23' AND '2009-10-24')
  4.            AND (hora BETWEEN '09:30:45' AND '11:00:00');
O bien, si fuera un rango de horas:

Código sql:
Ver original
  1. SELECT *
  2. FROM tabla
  3. WHERE fecha = '2009-10-23'
  4.            AND (hora BETWEEN '09:30:45' AND '11:00:00');

En cualquier caso de estos, si un registro o más de uno quedase comprendido en el rango de tiempo, o cumpliese la condición (en el primer caso), la consulta devolverá todos los registros que lo hagan.

El resto es asunto de PHP y excede los límites de este foro.

¿Alguna duda?
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #8 (permalink)  
Antiguo 10/11/2009, 07:50
 
Fecha de Ingreso: julio-2005
Mensajes: 304
Antigüedad: 19 años, 4 meses
Puntos: 4
Respuesta: Consulta según fecha y hora

vereis el código que expongo son la recogida de los datos de los select de fecha y hora, ese método lo uso normalmente para introducir los datos en la BD y me va bien, pero para hacer la consulta parece que no me sirve para recoger los datos ya que pruebo un listado y no es que no me salga, es que me sale una página en blanco.

El cógigo que me pone huesos52, lo conozco y lo he usado, pero en una consulta predefinida no según lo que selecciono en el select, lo que no se como recoge los datos, para 'fecha_seleccionada'. Os pongo el enlace para que veais como hago la selección.

http://www.acebrondedoñana.com/reservas2.html

al pulsar continuar me saldrá el formulario completo, pero con un listado arriba de las reservas que cumplen con la hora y fecha seleccionada.

Si pongo en el código:
Código:
SELECT *FROM tabla WHERE fecha='fecha que se que está en la BD' AND hora='hora que se que está en la BD'
El listado me lo dá, el error lo tengo que tener en la forma de recoger los datos de fecha y hora o como introducirlo en la consulta.
  #9 (permalink)  
Antiguo 10/11/2009, 07:57
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 9 meses
Puntos: 360
Respuesta: Consulta según fecha y hora

Tu problema es en el tratamiento de los datos desde php.
espera que el moderador mueva el tema.

saludos
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #10 (permalink)  
Antiguo 10/11/2009, 07:59
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años, 6 meses
Puntos: 1517
Respuesta: Consulta según fecha y hora

¿Cuál es el código que usas de PHP?
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #11 (permalink)  
Antiguo 10/11/2009, 08:10
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años, 7 meses
Puntos: 839
Respuesta: Consulta según fecha y hora

Tema trasladado desde la sección de MySQL.

Muestra el código completo con que has intentado realizar la consulta a la base de datos.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #12 (permalink)  
Antiguo 10/11/2009, 08:11
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: Consulta según fecha y hora

Cita:
El listado me lo dá, el error lo tengo que tener en la forma de recoger los datos de fecha y hora o como introducirlo en la consulta.
Hubieras empezado por allí...

Postea la pregunta en el foro de PHP, porque ese tema excede los límites del Foro de Bases de Datos. Aquí no se debe poner código de programación (reglas del foro), pues para eso están los foros específicos, donde además encontrarás a los mejores expertos en ese asunto.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #13 (permalink)  
Antiguo 10/11/2009, 14:04
 
Fecha de Ingreso: julio-2005
Mensajes: 304
Antigüedad: 19 años, 4 meses
Puntos: 4
Respuesta: Consulta según fecha y hora

A ver el código es el siguiente:

Código:
<?
session_start();

include("admin/comunes_privada.php");

//recogemos los datos del primer formulario

$horareserva=$_POST["hora"];
$fechareserva=$_POST["anno"]."-".$_POST["mes"]."-"$_POST["dia"];

//conectamos con la base de datos

$reservaSQL="SELECT * FROM reservas WHERE fecha='$fechareserva' AND hora='$horareserva'";
$consulta=mysql_query($reservaSQL,$conexion);
$codigo="";
while($listado=mysql_fetch_array($consulta)){
	$codigo=$codigo."<tr><td>".$listado["mesas"]."</td></tr>";
}
?>
  #14 (permalink)  
Antiguo 10/11/2009, 14:43
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años, 7 meses
Puntos: 839
Respuesta: Consulta según fecha y hora

¿Produce algún error? Imprime el valor de mysql_error() para saber si es problema de la consulta. Además, comprueba que realmente tengas datos en la tabla que cumplan la condición.

P.S.: No sé si fue un error al copiar, pero te falta el operador de concatenación aquí: "-"$_POST["dia"];
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #15 (permalink)  
Antiguo 10/11/2009, 16:42
 
Fecha de Ingreso: julio-2005
Mensajes: 304
Antigüedad: 19 años, 4 meses
Puntos: 4
Respuesta: Consulta según fecha y hora

Ostras, para matarme, llevo dos semanas liado con el código y lo he revisado todo menos los puntos. Gracias David. El código estaba correcto tan sólo ese fallo que lo borraria sin querer.

bueno ya que estamos a ver si con PHP se podría, veamos, ahora mismo lo que saco es un listado de las mesas:

Mesa 1
Mesa 2

Estas son las que están ahora mismo en la base de datos como reservadas ¿como podría sacarlo para que me de el siguiente resultado?:

Mesa 1: Reservada
Mesa 2: Reservada
Mesa 3: Libre
Mesa 4: Libre
etc....
  #16 (permalink)  
Antiguo 14/11/2009, 13:38
 
Fecha de Ingreso: julio-2005
Mensajes: 304
Antigüedad: 19 años, 4 meses
Puntos: 4
Respuesta: Consulta según fecha y hora

Me ha surgido un nuevo problema, a ver el código quedó así:

Código:
$reservaSQL="SELECT * FROM reservas WHERE fechareserva='$fechareserva2' AND hora='$horareserva'";
$consulta=mysql_query($reservaSQL,$conexion);
$codigo="";
while($listado=mysql_fetch_array($consulta)){
	$codigo=$codigo."<tr><td>".$listado["mesas"]."</td></tr>";
}
ahora el problema es que la consulta la estoy haciendo para una hora en concreto, pero claro si la mesa ha sido reservada a las 14:00 lo correcto sería hacer una consulta por rango y aquí viene el problema, por que me encuentro con que una reserva si es para almorzar no debe verificar las horas que estén en el rango de la noche. Es decir:

Si hago una consulta para las 14:00, y el restaurante está abierto de 13:00 a 17:00 y de 20:00 a 0:00, sólo debe verificarme las reservas que estén comprendidas entre las 13 y 17 h.

EDITADO: Bueno lo he solucionado con javascript, pero tengo que tener 2 formularios cada uno con el respectivo rango, gracias de todos modos.

Última edición por lynxstyle; 14/11/2009 a las 17:56
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 13:08.