Foros del Web » Programando para Internet » PHP »

Cambio en base de datos programado con script php

Estas en el tema de Cambio en base de datos programado con script php en el foro de PHP en Foros del Web. Buenos dias. Estoy realizando un script en php que se encargue de la gestión de accesos de un local. El usuario que se registre en ...
  #1 (permalink)  
Antiguo 03/06/2015, 05:22
 
Fecha de Ingreso: diciembre-2007
Mensajes: 79
Antigüedad: 16 años, 11 meses
Puntos: 0
Cambio en base de datos programado con script php

Buenos dias.

Estoy realizando un script en php que se encargue de la gestión de accesos de un local. El usuario que se registre en mi script tendrá acceso durante 1 hora la fecha que estime oportuno y a la hora que estime oportuno. Viene a ser como la reserva de un pabellón deportivo, solo tendrá acceso la hora a la que ha reservado. Para ello habrá que cambiar el estado en la base de datos a una hora determinada y un día determinado.

Es viable¿?
  #2 (permalink)  
Antiguo 03/06/2015, 06:22
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: Cambio en base de datos programado con script php

Es viable, si manejas una tabla donde se registren los login, al momento de loguearse, con fecha y hora de inicio, y la usas para comprobar si la conexión es válida aún.
En cuanto al vencimiento, simplemente puedes hacer correr en la base un proceso que haga caer las sesiones de login en base a un tiempo determinado.
Por ejemplo: La tabla de login la puedes usar para registrar que ya pactó una sesión, y en un campo cuantas horas durará. Actualizas el inicio de la sesión cuando hace uso de ella, y un proceso que corra cada minuto mas o menos, compara ese valor de tiempo pactado, con el transcurrido desde el inicio de la sesión, y si ya no le queda, actualiza otro campo de fin de la sesión.
No se trata de algo dificil, pero tendrás qu einteractuar entre PHP y la base de datos (cada DBMS tiene un modo de crear este tipo de procesos temporales).

Con la poca información que estás dando, es lo más detallado que te puedo decir.
__________________
¿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 03/06/2015, 07:46
 
Fecha de Ingreso: diciembre-2007
Mensajes: 79
Antigüedad: 16 años, 11 meses
Puntos: 0
Respuesta: Cambio en base de datos programado con script php

Muchas gracias por la respuesta @gnzsoloyo.

A ver si peudo aclarar mas mi duda.

la base de datos sera MYSQL. Supongamos un pabellon deportivo en el que se pueden alquilar pistas por horas, y que el usuario solo podra acceder a la pista a la hora para la que tien reserva. Esta reserva, puede haberla hecho meses atras, pero solo estara activo el acceso cuando llegue el dia de la reserva.

Como puedo crear una tarea que active el acceso de ese usuario, el dia de la reserva?Logicamente habria otra tarea que cuando haya pasado la hora de la reserva, volveria a quitar el acceso-

Gracias!
  #4 (permalink)  
Antiguo 03/06/2015, 08:42
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: Cambio en base de datos programado con script php

No necesitas dos tareas para eso. Solo necesitas la de cierre.

Por lo pronto necesitas una tabla que pudiese tener por ejemplo:

Código MySQL:
Ver original
  1. REservasPista(
  2.     reserva_id INT UNSIGNED PRIMARY KEY,
  3.     user_reserva VARCHAR(50) NOT NULL,
  4.     fecha_reserva DATE NOT NULL,
  5.     hora_reserva TIME NOT NULL,
  6.     horas_reserva TINYINT UNSIGNED  NOT NULL,
  7.     uso TINYINT UNSIGNED  DEFAULT '0',
  8.     hora_inicio_uso TIME NULL,
  9.     hora_fin_use TIME NULL);

La idea es que cuando el usuario la reserva se da de alta el registro con los datos de usuario, dia, hora y cantidad de horas a usar.
Luego, se crea un EVENT en la base que verifique todos los registros cuya fecha sea la actual, la hora sea anterior a la actual, tenga "uso" en 1, y la hora de inicio sumada a la cantidad de hora sreservadas sea igual o anterior a la hora actual, en ese caso se da por cerrada el uso, poniendo la hroa de fin deuso.
En ese contexto, el usuario, cuando se presenta a realizar el uso, el sistema sólo requiere registrar la entrada en uso (flag uso=1), y la hora de inicio.

El mismo EVENT deberá verificar también todas las reservas que estén en estado de uso = 1, pero cuyo maxima hora de uso (hora pactada mas cantidade horas) ya haya superado a la fcha y hora actuales.

¿Se entiende?


Luego se crea
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Etiquetas: fecha, programado
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 12:26.