Hola Amigos!!!
estoy haciendo un sistemita de clientes y articulos
pero se me presemto un problema , como podria hacer para bloquear un cliente si por ejemplo un usuario lo esta editando y otro usuario en ese mismo instante tambien lo quiere editar u hacer otra operacion con el mismo cliente?
estube viendo los semaforos con php pero no funcionan en windows
Saludos y muchas gracias!!!

Bloquear registro de mysql si esta siendo usado
Started by
tumbero_x
, Nov 09 2011 06:41 AM
4 replies to this topic
#1
Posted 09 November 2011 - 06:41 AM
#2
Posted 09 November 2011 - 06:50 AM
Bueno se me ocurre crear un campo llamado Lock o Editing, como quieras llamarlo, del tipo smallInt con 0 como valor por defecto como abierto (False), cuando un usuario llama un registro para editar haces la consulta a ese campo primero, luego haces la comparacion si esta 0 pues esta abierta y mandas a actualizar ese campo a 1 (true) de lo contrario esta bloqueado, asi cuando otro quiera intentar editar mientras este cerrado se realiza la comparacion y mandas el mensaje, y cuando el usuario termina de editar vuelves a poner a 0 el campo para que otro pueda editarla. Espero ser entendible

Saludos.


Saludos.
#3
Posted 09 November 2011 - 06:56 AM
Perfecto!!! lo voy a hacer basado en lo que me indicas
solamente me surge una duda , si el usuario que esta editando en ese momento no termina el proceso de edicion (cierra el navegador desde la x) ese registro va a seguir estando "bloqueado"
basado en tu experiencia, cual seria la mejor forma de evitar esto
Saludos Y muchas gracias!!!
solamente me surge una duda , si el usuario que esta editando en ese momento no termina el proceso de edicion (cierra el navegador desde la x) ese registro va a seguir estando "bloqueado"
basado en tu experiencia, cual seria la mejor forma de evitar esto
Saludos Y muchas gracias!!!
#4
Posted 09 November 2011 - 07:22 AM
Pues es un poco trabajoso el asunto, hay varias formas de realizar eso:
1) Gestion de Sesiones: crear una sesion relacionada con la edicion del registro especifico por un tiempo determinado, por ejemplo 15 minutos, y luego que se acabe el tiempo realizar la consulta.
2) Cookies: Igual que la anterior.
3) Detectar cuando el Navegador fue cerrado: Esto se puede hacer haciendolo con Javascript y/o AJAX, el primero no se puede realizar consultas a MySQL, el segundo es un poco mas trabajoso.
4) Que el Administrador sea quien lo desbloquee

Saludos.
1) Gestion de Sesiones: crear una sesion relacionada con la edicion del registro especifico por un tiempo determinado, por ejemplo 15 minutos, y luego que se acabe el tiempo realizar la consulta.
2) Cookies: Igual que la anterior.
3) Detectar cuando el Navegador fue cerrado: Esto se puede hacer haciendolo con Javascript y/o AJAX, el primero no se puede realizar consultas a MySQL, el segundo es un poco mas trabajoso.
4) Que el Administrador sea quien lo desbloquee


Saludos.
#5
Posted 09 November 2011 - 07:25 AM
perfecto , voy a trabajar sobre todo eso que me indicaste
Saludos Y muchas gracias!!!
Saludos Y muchas gracias!!!