Foros del Web » Programando para Internet » PHP »

Hacer reservas en PHP

Estas en el tema de Hacer reservas en PHP en el foro de PHP en Foros del Web. Hola! en una aplicación que estoy haciendo tengo un apartado que es AGENDA. Lo que quiero hacer es, por ejemplo, si sé que del dia ...
  #1 (permalink)  
Antiguo 25/01/2005, 04:51
 
Fecha de Ingreso: septiembre-2004
Mensajes: 203
Antigüedad: 13 años, 2 meses
Puntos: 0
Hacer reservas en PHP

Hola! en una aplicación que estoy haciendo tengo un apartado que es AGENDA. Lo que quiero hacer es, por ejemplo, si sé que del dia 20 de Enero de 2005 hasta el 5 de Febrero de 2005 voy a estar ocupado, con solo seleccionar desde qué dia hasta cual otro (campos DESDE - HASTA) , me avise que esos dias ya los tengo ocupados al querer ingresar un nuevo evento para esos mismos dias. Me expliqué bien ? Porque lo que se me ocurre es, en un formulario, seleccionar dia por dia, pero si son eventos de 20 dias molesta un poco hacerlo de esa forma siendo mas fácil de la manera que planteo acá ... Bueno, si a alguien se le ocurre algo, soy todo ojos ...
Saludos y gracias.
__________________
Impala
  #2 (permalink)  
Antiguo 25/01/2005, 06:23
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Pero .. tu trabajas con base de datos? .. como gestionas tus fechas en tus BD para registrar tus eventos (usas campos DATE?) .. )

Se trata (si usas Base de datos) que hagas consultas SQL condicionales por "rangos" para ver si tu fecha "solicitada" está en el rango de las fechas que ya tienes eventos ..

Un saludo,
  #3 (permalink)  
Antiguo 25/01/2005, 06:31
 
Fecha de Ingreso: septiembre-2004
Mensajes: 203
Antigüedad: 13 años, 2 meses
Puntos: 0
uy, olvidé mencionarlo, SI, trabajo con MySQL ... perdón ...
Yo lo que quiero hacer es que si agrego un evento para el rango de dias especificado, esos dias estén marcados como "ocupados" (por ejemplo) y que si quiero agregar un nuevo evento para esos mismos dias no me deje porque ya están "ocupados". Una de las cosas mas importantes que no comprendo es como se manejan los rangos de fechas en MySQL ... La fecha la insertaría en la BBDD desde un form con el campo dia, mes y año y pasandosela a MySQL como:
$fecha = $anio."-".$mes."-".$dia;

...
__________________
Impala

Última edición por impala; 25/01/2005 a las 06:37
  #4 (permalink)  
Antiguo 25/01/2005, 08:28
 
Fecha de Ingreso: diciembre-2004
Mensajes: 128
Antigüedad: 13 años
Puntos: 0
yo pondria un campo "OCUPADO" que sea booleano, si esta ocupado=1, si no=0. Deberias consultarlo al principio de la pagina que recibe el form. (Este campo te servira para mostrar un calendario y poder cambiarle colores para que se noten los dias que estan ocupados.)
En SQL se usa BETWEEN que sirve para verificar 2 rangos cualquiera:
http://dev.mysql.com/doc/mysql/en/co...operators.html
aca hay un ejemplo usando fechas: http://www.mysql-hispano.org/page.php?id=8&pag=4
  #5 (permalink)  
Antiguo 25/01/2005, 10:10
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Bueno .. puedes tratar el tema de dos formas:

1) .. Registras en tu tabla de "eventos" el día origen y final .. (si es que son consecutivos no tendrías problemas) ..
2) ... Registra una tabla relacionada con los días que correspondan al evento .. Esto te servirá para definir eventos en días correlativos o salteados.

Ejemplo . .un modelo de datos tipo:

Evento
id_evento
tema
descripcion
otros_Campos

calendario
id_calendario
id_evento
fecha_evento
descripcion

La relación sería 1 -> N .. Esto te facilitará usar SQL y sentencias tipo BETWEEN o similaras para tus consultas por "rangos" o fechas concretas.

A la hora de crear un evento tipo "fecha de inico tal y fecha fin tal .. correlativa" puedes hacer processos que creen esos N registros en tu BD con las fechas que correspondan para cada uno.

Bajo la misma filosofía puedes tener más eventos por día y mostrarlos (y si guardas la hora puedes hasta verificar que no se "solapen" eventos en las mismas horas .. etc).

Cita:
La fecha la insertaría en la BBDD desde un form con el campo dia, mes y año y pasandosela a MySQL como:
lo que realmente importa es que el campo de "fecha" sea de tipo DATE o DATETIME .. el formato que tengas que darle desde PHP si es que ingresan esas fechas tus usuarios en tus formularios será el de dicho tipo de campo.

Como veras .. todo esto tiene muchoooooooooo de "Base de datos" (del "modelo") y de SQL (lenguaje de consultas) que debes diseñar "bien" para tener un sistema versatil ..

Un saludo,
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 01:09.