Por lo que entiendo quieres que se muestre cada 5 segundos en "tu" navegador si se ha recibido un mensaje en los ultimos 5 segundos(estos estan guardados en una bd mysql) Si es asi, es muy sencillo, pero hay algo de error en tu planteamiento, por que quieres que se muestre solo el ultimo mensaje dentro del lapso de los 5 segundos, y si en ese lapso se enviaron 10 mensajes...? te los perderias de leer. Lo ideal seria que contaras cuantos mensajes nuevos se recibieron, si lo quieres hacer con un alert esta bien.
A ver si con es,to te ayudo un poco:
Código:
<script type="text/javascript">
window.onload = function(){
tiempo();
}
function tiempo(){
setTimeout("tiempo()", 5000);
mensajes();
}
function mensajes(){
alert("mensaje");
}
</script>
Con esta funcion se estara llamando cada 5 segundos a la function mensajes(), y acá te convendria usar algun framework(podrias implementarlo facilmente con prototype y ajax.Request).
Consejo amigo, lee un poco mas de ajax, aca hay algo que te va a ayudar
www.librosweb.es
Saludetes :)