Semplicemente dovrai richiamare la funzione che controlla se ci sono nuovi messaggi ogni tot di tempo, ma mi sa che questa discussione è più js che php...
Per esempio in passato, usando prototype, avevo scritto qualcosa del genere:
codice:
/**
* riceve i messaggi della chat via AJAX
* richiama ricorsivamente la stessa funzione
* ogni secondo per aggiornare i messaggi
*/
function getMessages()
{
new Ajax.Request('tuo-script.php',
{
requestHeaders: {Accept: 'application/json'},
parameters: {id_last_message : $('message_id_last_message').value,
id_chatroom : $('message_id_chatroom').value
},
onSuccess: function(transport){
var json = transport.responseText.evalJSON(true);
//aggiorno la lista con i messaggi
json.messages.each(function (n)
{
spanElement = new Element('span');
spanElement.update(n.username+': ');
liElement = new Element('li');
liElement.update(spanElement).insert(n.data.sub(':)', ' [img]/images/smiley_30x30.png[/img]'));
$('messages').insert( { bottom: liElement } );
//scrolla in basso il div
$('chat').scrollTop = $('chat').scrollHeight;
});
//aggiorno la chat ogni secondo
window.setTimeout( getMessages, 1000 );
//aggiorno il campo hidden con l'ultimo id
//se json non è vuoto
if(json.messages.lenght!=0)
{
$('message_id_last_message').value = json.messages[0].id
}
},
onFailure: function(){ alert('Si è verificato un errore...'); }
});
}
quindi tuo-script.php farà una query al db per vedere se ci sono messaggi più recenti dell'id dell'ultimo messaggio e restituirà i risultati in JSON. Infine prototype aggiornerà la pagina con gli ultimi messaggi...
Vedi se può esserti utile...