Ver Mensaje Individual
  #1 (permalink)  
Antiguo 27/04/2006, 09:19
Daguett
 
Fecha de Ingreso: abril-2006
Ubicación: Talcahuano-Chile
Mensajes: 50
Antigüedad: 18 años
Puntos: 0
un window.alert() cuando se ingresa algo nuevo a una tabla de Mysql y PHP

Hola amigos:
Tengo un serio problema que quiero resolver, como tema pareciera que fuese de Javascript, pero no lo creo. Aquí les cuento el drama.
Es un pequeño programilla en PHP que ve las solicitudes de prestamos de equipos, y por lo tanto la persona encargada de ver las solicitudes entre con su cuenta y cada vez que se ingrese una solicitud, la persona encargada del software vea una caja de mensaje que llegó una solicitud nueva y que la revise si es que se puede prestar el equipo. Es algo así como el outlook cuando te llega correo nuevo.
Bueno, la cosa es que logré mediante Javascript recuperar los datos y tratar de compararlo, haciendo una funcion que recupera las solicitudes que hay en el momento de entrar al programilla y otra recursiva que se activa cada cierto tiempo y compara el resultado de de la funcion anterior con la recursiva.
Aquí les muestro como quedo eso:


Cita:
<script language="javascript">
function sol()
{
<?php
$c_sol="SELECT * FROM solicitud";
$r_sol=mysql_query($c_sol);
$n = mysql_numrows($r_sol);
?>
n = <?php print($n); ?>;
return (n)
}
var n_sol_ahora = sol();
En esta primera parte lo que hago es recuperar la cantidad de solicitudes que hay en el momento de entrar a la pagina PHP y con la cuenta de usuario que administra las solicitudes, previamente de esto obviamente hice la conexion a la base de datos y toda la parafernlia para poder obtener los datos.

Cita:
function sol_nueva()
{
var j = 0;
<?php
$c_sol1 = "SELECT * FROM solicitud";
$r_sol1 = mysql_query($c_sol1);
$n1 = mysql_numrows($r_sol1);
?>
j = <?php print($n1); ?>;
window.alert(j);
window.alert(n_sol_ahora);
if (n_sol_ahora < j)
{
window.alert("Ha recibido una nueva solicitud");
n_sol_ahora=j;
}
setTimeout("sol_nueva()",10000);
}
En esta parte hago la funcion recursiva cada cierto tiempo y "supuestamente" cuando el resultado de la funcion anterior es menor a la funcion recién mostrada debería mostrar el window.alert(). Si se dan cuenta hay dos window.alert() que no deberían estar, pero los coloqué para ver que estaba pasando con los valores.
La cosa es que despues obviamente llamé a la funcion en
<body>
....
....
....
<script>
sol_nueva()
</script>
...
...
</body>
Aquí va mi S.O.S. cuando se llama así misma la funcion y agrego una solicitud el alert que dice window.alert("Ha recibido una nueva solicitud") y despues el cambio de valor de n_sol_ahora, no lo hacer ya que cada vez que entra muestra el primer resultado que dio la funcion "sol_nueva()" no cambia los valores siendo que pregunto a la base de datos directamente mediante PHP y le retorno el valor a Javascript.
Quisiera que me ayudaran en como hacer lo que estoy pidiendo o como arreglar lo que tengo. De antemano muchas gracias y está muy , pero muy bueno el foro.