Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

[SOLUCIONADO] Cambiar el contenido de una celda

Estas en el tema de Cambiar el contenido de una celda en el foro de Mysql en Foros del Web. Muy buenas: No tengo muy claro si la consulta que tengo va aquí, en BBDD (Creo que si), o si también habría de pedir ayuda ...
  #1 (permalink)  
Antiguo 07/05/2012, 02:45
Avatar de toledo_nocturno  
Fecha de Ingreso: agosto-2011
Ubicación: Under the northen star
Mensajes: 86
Antigüedad: 10 años, 9 meses
Puntos: 5
Cambiar el contenido de una celda

Muy buenas:

No tengo muy claro si la consulta que tengo va aquí, en BBDD (Creo que si), o si también habría de pedir ayuda en otros subforos.

Estoy desarrollando una aplicación de gestión de contenidos (Con php, javascript y mysql 5), y debido al volumen de la misma estoy pensando en desarrollar un sistema que sirva para bloquear y desbloquear ciertos contenidos para que, mientras un usuario esté trabajando en una parte específica, los demás no puedan acceder salvo en "sólo lectura".

Las tablas que uso en la BD es grande, y la relación entre unas y otras las controlo mediante php.

Para bloquear o no el contenido, tengo bastante claro que con un campo "lock" que esté en 1 o 0 me basta, y para la mayoría de aspectos me basta con que al entrar en una ficha se haga un update, y al salir, se haga otro; pero si un usuario cierra la pestaña/ventana del navegador por cualquier motivo, evidentemente la celda se quedaría como fuera que hubiese quedado.

Por todo esto, mi duda:

¿Es posible hacer "algo" en la base de datos para que cada cierto tiempo "limpie" las claves que estén bloqueadas? ¿O puedo hacer algo que controle los accesos que están haciéndose a cada momento en las fichas y que en función de eso vaya manteniendo unos accesos u otros?

Muchas gracias de antemano, espero haber sido claro!

Un saludo!
__________________
diseño web | Clan Rol
  #2 (permalink)  
Antiguo 09/05/2012, 20:15
Avatar de newboy_master  
Fecha de Ingreso: enero-2008
Ubicación: Granada
Mensajes: 882
Antigüedad: 14 años, 4 meses
Puntos: 46
Respuesta: Cambiar el contenido de una celda

Es una cuestión que también me he planteado y no sabría resolver exactamente. Se me ocurriría hacer una tabla para guardar los accesos a esos contenidos con un campo que guardarse una fecha y hora de actividad y se fuese actualizando conforme realiza acciones el cliente.

En el momento que se superase la hora de dicho campo se podría cerrar por inactividad. Con MySQL no se me ocurre cómo ejecutar esa tarea, he visto algo sobre disparadores (triggers), pero no estoy seguro de si servirían para este caso.

Yo haría un script en PHP que comprobase dicha tabla de actividad y fuese desbloqueando los contenidos que no estén en uso, mediante un cron lo ejecutaría cada X tiempo.

Salu2.
__________________
@jslirola - Programador Web Freelance.
  #3 (permalink)  
Antiguo 10/05/2012, 10:12
Avatar de djaevi  
Fecha de Ingreso: marzo-2007
Ubicación: Moreno, Buenos Aires
Mensajes: 400
Antigüedad: 15 años, 2 meses
Puntos: 47
Respuesta: Cambiar el contenido de una celda

Si el problema es al cerrar la ventana, creo que con javascript se puede detectar si un usuario intenta cerrar la ventana, en tal caso podrian mandar una peticion x ajax que haga dicho update del campo lock
  #4 (permalink)  
Antiguo 11/05/2012, 15:11
 
Fecha de Ingreso: enero-2012
Ubicación: Santiago de Surco, Lima - Perú
Mensajes: 266
Antigüedad: 10 años, 3 meses
Puntos: 57
Respuesta: Cambiar el contenido de una celda

Hola a todos, que tal.

Con las soluciones presentadas. Yo agregaría lo siguiente:

Como bien dice djaevi, se puede mostrar la alerta de "abandonar pagina", pero pensemos en problemas más extremos pero que suceden (podría alguien apagar su PC o cosas similares).

También deberías calcular el tiempo que deberás programar para el desbloqueo masivo de tablas. Ya que un tiempo muy corto podría bloquear el contenido que un usuario esta utilizando, y como uno muy largo podría dejar esperando a otro usuario que quiera trabajar con el.

Así mismo, debes tomar en cuenta el volumen de usuarios que trabajaran con la aplicación ya que la solución del "lock" que tienes en mente podría hacer frustrante la experiencia del usuario.

Etiquetas: celda, contenido, php, sql, tabla, campos
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 05:09.