Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] como puedo hacer esto, imposible de explicar en el titulo

Estas en el tema de como puedo hacer esto, imposible de explicar en el titulo en el foro de PHP en Foros del Web. Hola amigos estoy desarrollando una rifa. en la pagina boletas_disponibles.php, obtengo los números de boleta de una base de datos. al seleccionar un numero de ...
  #1 (permalink)  
Antiguo 30/07/2016, 19:05
 
Fecha de Ingreso: junio-2011
Mensajes: 39
Antigüedad: 12 años, 10 meses
Puntos: 0
como puedo hacer esto, imposible de explicar en el titulo

Hola amigos estoy desarrollando una rifa.

en la pagina boletas_disponibles.php, obtengo los números de boleta de una base de datos.

al seleccionar un numero de boleta,necesito: que este se desactive mientras el usuario es llevado a la pagina comprar.php donde decide si adquiere el boleto o no.


como podría hacer esto? he pensado en lo siguiente pero no se si se pueda:


- cuando el usuario de clic en el numero que desea adquirir, el registro(numero de boleta) se elimine de la DB, pero si en x tiempo no se ha realizado el pago se vuelva a insertar el registro en la DB. esto se puede hacer con algún comando en mysql?

o que podría hacer para lograr que otro usuario no vaya a comprar la boleta mientras el otro usuario esta en proceso de compra
  #2 (permalink)  
Antiguo 30/07/2016, 22:47
 
Fecha de Ingreso: septiembre-2015
Mensajes: 142
Antigüedad: 8 años, 7 meses
Puntos: 13
Respuesta: como puedo hacer esto, imposible de explicar en el titulo

el usuario selecciona "X" numero de una boleta de numeros no ?
y luego es llevado a una pagina comprar.php donde confirma realmente que comprar el numero.

para marcar ese numero como comprado y no mostrarlo en la boleta de números disponibles. no tienes que eliminarlo y insertarlo.

yo lo miro asi como usuario.

Llego me gusto el numero "xxx" lo selecciono , le doy comprar me lleva a una pagina donde me diga "desea comprar el numero SI - NO" o como gustes.

si le doy si , lo actualizo como numero comprado ( o como tu manejes ese asunto ) y si no simplemente lo regreso.
  #3 (permalink)  
Antiguo 31/07/2016, 07:11
Avatar de petit89  
Fecha de Ingreso: marzo-2011
Mensajes: 1.135
Antigüedad: 13 años, 1 mes
Puntos: 170
Respuesta: como puedo hacer esto, imposible de explicar en el titulo

puedes crear un campo de tiempo en tu tabla, que cuando sea seleccionado se actualice al tiempo actual(dia y hora actuales) y otro campo que se llame reservado, que su valor como NO Reservado sea 0 y como reservado 1, cuando lo seleccione que cambie a 1 y el tiempo se actualice.... muestras un mensaje al usuario que tiene 10 mins para decidir si lo compra o no, luego de esto, que el campo reservado cambie a 0 nuevamente si NO lo compró y este disponible para nueva compra.... no se si me explique
__________________
█ WebHosting / Reseller a bajo costo | Uptime Garantizado | Soporte en Español e Ingles
¿Te sirvió la respuesta? Deja un +1 (Triangulo negro al lado derecho)
  #4 (permalink)  
Antiguo 31/07/2016, 08:21
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: como puedo hacer esto, imposible de explicar en el titulo

También puedes aprender a usar mejor la base de datos, y aprovechar las transaction, especialmente con aquellas bases que poseen bloqueos a nivel registro, como MySQL. Ese tipo de bloqueo, por ejemplo, en un SELECT FOR UPDATE, evita que alguien modifique el estado del registro hasta que sea liberado.
Claro que si no, la solución de petit89 sería la más pràctica, y la usual cuando hay microdesconexiones o se necesita un sistema asincrónico.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #5 (permalink)  
Antiguo 31/07/2016, 09:03
 
Fecha de Ingreso: junio-2011
Mensajes: 39
Antigüedad: 12 años, 10 meses
Puntos: 0
Respuesta: como puedo hacer esto, imposible de explicar en el titulo

mmm si te tomo la idea, se me ocurrió hacer lo siguiente:

-usuario elige un numero, se añada a la DB la hora y un reservado.

- en el php si esta reservado no mostrar.

SI el usuario lo compra eliminar de la DB.

DE LO CONTRARIO no lo elimine.


SI un usuario entra a ver las rifas, se verifique en la DB si existe alguno reservado, si esta reservado verifique la hora y compare, si lleva mas de 10 minutos entonces lo vuelva a habilitar.


Probare y les cuento como me fue, gracias.


ACTUALIZO------

hice lo que mencione anteriormente y todo a la perfección, gracias por su ayuda.

Última edición por fidentis; 31/07/2016 a las 23:02 Razón: SOLUCIONADO

Etiquetas: imposible, mysql, registro, titulo
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 23:24.