Foros del Web » Programando para Internet » PHP »

Reservas simultaneas

Estas en el tema de Reservas simultaneas en el foro de PHP en Foros del Web. Buenas tardes, estoy desarrollando un sitio para reserva de material, pero me ha surgido una duda. Supongamos el caso de que solo queda un articullo ...
  #1 (permalink)  
Antiguo 04/06/2012, 07:35
 
Fecha de Ingreso: mayo-2010
Mensajes: 80
Antigüedad: 13 años, 11 meses
Puntos: 0
Reservas simultaneas

Buenas tardes,

estoy desarrollando un sitio para reserva de material, pero me ha surgido una duda.

Supongamos el caso de que solo queda un articullo "X", y dos usuarios entran en la Web con la idea de reservar ese articulo. Suponemos que el usuario A entra y empieza la reserva y tarda en ejecutarla 30 segundos.

¿Como puedo hacer para bloquear que cualquier otro usuario pueda rservar ese articulo, mientras el usuario está en el proceso de reservar?

Es decir, lo que intento evitar que si un un usuario A empieza la reserva del articulo a las 15:00:00 y finaliza a las 15:00:30, no ocurra que si no bloqueo ese articulo otro usuario empiece a las 15:00:02 y termine a las 15:00:25 y el usuario A no pueda sreservar el articulo.

Quizas explicado por aquí sea un poco lioso pero si no lo entendeis lo explico con mas ejemplos.
  #2 (permalink)  
Antiguo 04/06/2012, 07:47
Avatar de linuxzero  
Fecha de Ingreso: noviembre-2011
Ubicación: Argentina
Mensajes: 778
Antigüedad: 12 años, 5 meses
Puntos: 160
Respuesta: Reservas simultaneas

http://dev.mysql.com/doc/refman/5.0/...nsactions.html
__________________
Si todo fuera tan sencillo como un symfony cc la vida seria más fácil.
http://phpnico.wordpress.com
  #3 (permalink)  
Antiguo 04/06/2012, 08:03
 
Fecha de Ingreso: mayo-2010
Mensajes: 80
Antigüedad: 13 años, 11 meses
Puntos: 0
Respuesta: Reservas simultaneas

Gracias por al rapida respuesta.

Lo que quiero hacer realmente es lo siguiente. Supongamos que estamos en un sistema de reserva de habitaciones de hotel. La cosa es que yo busco para un dia en concreto y me sale que queda 1 habitacion disponible, y digo ostias voy a pillarla y la selecciono y ahora empiezo a rellenar datos de nombre, apellidos, pago... mientras yo realizo todo eso, si otro visitante busca disponibilidad para el mismo dia que yo le tiene que salir que no está diponible, aunque yo aún no haya formalizado la reserva, no se si me explico.

Un salduo.
  #4 (permalink)  
Antiguo 04/06/2012, 08:06
Avatar de linuxzero  
Fecha de Ingreso: noviembre-2011
Ubicación: Argentina
Mensajes: 778
Antigüedad: 12 años, 5 meses
Puntos: 160
Respuesta: Reservas simultaneas

Por eso te mande el link, tenes que leer sobre lockeo de tablas y transcciones de mysql.. (si tu base es sobre mysql)...
__________________
Si todo fuera tan sencillo como un symfony cc la vida seria más fácil.
http://phpnico.wordpress.com
  #5 (permalink)  
Antiguo 04/06/2012, 08:19
 
Fecha de Ingreso: mayo-2010
Mensajes: 80
Antigüedad: 13 años, 11 meses
Puntos: 0
Respuesta: Reservas simultaneas

Gracias,

sisi mi base datos es mysql, yo estaba buscando algo sin tener que ir tocando base de datos para en el caso de tener mucho trafico no saturar la base de datos.

Un saludo.
  #6 (permalink)  
Antiguo 04/06/2012, 08:22
Avatar de linuxzero  
Fecha de Ingreso: noviembre-2011
Ubicación: Argentina
Mensajes: 778
Antigüedad: 12 años, 5 meses
Puntos: 160
Respuesta: Reservas simultaneas

es que lo podes hacer sin tocar la base, pero dependes de mucha programacion, no solo del lado del cliente sino tambien del lado del servidor, y no es 100% confiable... y mas si se trata de temas de reserva donde tiene plata detras.. lo mas seguro siempre es del lado de la base, y es muy facil de aplicar.. investiga y vas a ver
__________________
Si todo fuera tan sencillo como un symfony cc la vida seria más fácil.
http://phpnico.wordpress.com
  #7 (permalink)  
Antiguo 04/06/2012, 09:41
 
Fecha de Ingreso: mayo-2010
Mensajes: 80
Antigüedad: 13 años, 11 meses
Puntos: 0
Respuesta: Reservas simultaneas

sisi hay dinero detras de cada reserva, y por eso quiero hacerlo lo mas eficaz y seguro posible. Por lo tanto buscare y leere info y trabajare con la base de datos que sin dudas es lo mas seguro.

Gracias por la ayuda.

Un saludo.
  #8 (permalink)  
Antiguo 04/06/2012, 12:22
Avatar de webseficientes  
Fecha de Ingreso: enero-2005
Ubicación: Buenos Aires, Argentina
Mensajes: 320
Antigüedad: 19 años, 2 meses
Puntos: 14
Respuesta: Reservas simultaneas

Hola,

No se si deberías preocuparte tanto en lockear un recurso al momento de iniciar una transacción y que quede como no disponible hasta que esta transacción no termine.

Por que puede ocurrir que la transacción no termine y/o tarde mucho y te pierdas una reserva.

Lo que se suele hacer es:
- mostrar los recursos libres (archivo_paso1.php)
- iniciar el proceso de reserva (archivo_paso2.php)
- al momento de concretar la reservar verificar si el recurso aún esta libre, y proceder segun disponibilidad o no (archivo_paso3.php)

Al menos es lo que sucede en sitios populares de venta de entradas y demás.
__________________
Gerardo Benitez
Programador Web Freelance, SEO, Diseño web
  #9 (permalink)  
Antiguo 05/06/2012, 02:24
 
Fecha de Ingreso: mayo-2010
Mensajes: 80
Antigüedad: 13 años, 11 meses
Puntos: 0
Respuesta: Reservas simultaneas

Cita:
Iniciado por webseficientes Ver Mensaje
Hola,

No se si deberías preocuparte tanto en lockear un recurso al momento de iniciar una transacción y que quede como no disponible hasta que esta transacción no termine.

Por que puede ocurrir que la transacción no termine y/o tarde mucho y te pierdas una reserva.

Lo que se suele hacer es:
- mostrar los recursos libres (archivo_paso1.php)
- iniciar el proceso de reserva (archivo_paso2.php)
- al momento de concretar la reservar verificar si el recurso aún esta libre, y proceder segun disponibilidad o no (archivo_paso3.php)

Al menos es lo que sucede en sitios populares de venta de entradas y demás.

Muchas gracias, esa era mi primera opcion, pero pensé que sitios importantes como reserva de vuelos, o plazas de trenes o bus, una vez que inicias una reserva ese asiento queda temporalmente reservado.

Seguire investigando a ver los competidores como actuan y así decidiré. Realmente desconozco como suele funcionar el mercado en este aspecto.

Un saludo.

Etiquetas: reservas, simultaneas, usuarios
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:56.