Ver Mensaje Individual
  #2 (permalink)  
Antiguo 13/03/2010, 17:12
Avatar de ElJavista
ElJavista
Colaborador
 
Fecha de Ingreso: marzo-2007
Ubicación: Lima Perú
Mensajes: 2.231
Antigüedad: 17 años, 1 mes
Puntos: 67
Respuesta: actualizar una bd al cerrar una ventana

Es una simple idea, tal vez no te guste. Ok, utilizas una función ajax para cambiar el valor en el campo de la tabla ejecutada por el evento onunload. Seguro ya haz probado eso y no se termina de ejecutar y por eso no funciona. Eso es natural, si se cierra la ventana se cancela la ejecución de los scripts. Pero si se ejecutaría si hicieras un alert. De este modo:

<body onunload="cambiarEstado();">

Código:
function cambiarEstado() {
  url = 'proceso.php?cs=1';
  ajx.open("GET", url, true);
	ajx.onreadystatechange = function() {
	 
	   if (ajx.readyState == 4) {
		  var rst = ajx.responseText;

		 if (rst == '1') alert('Se ha cerrado la sesión');
	   }
	}
	ajx.send(null);
}
Cuando colocas un alert si se termina de ejecutar el script y por eso el proceso ajax si termina y el valor en tu tabla puede volver a cero. Es probable que no te guste ese alert, en verdad nunca encontré otra solución. Espero que te sirva.