Ver Mensaje Individual
  #4 (permalink)  
Antiguo 01/06/2009, 12:47
Avatar de SetheR
SetheR
 
Fecha de Ingreso: enero-2009
Mensajes: 265
Antigüedad: 15 años, 11 meses
Puntos: 44
Respuesta: Recargar consulta cada tres segundos

Debes hacer en una funcion ajax que llame al archivo php que llama a esa funcion:
más o menos, para que te hagas una idea (y partiendo de la base de que no sabes nada de ajax):

Creamos un objeto Ajax:

Código PHP:
function crearObjeto() {
    var 
req null;
    var 
acv = ["MSXML2.XMLHttp.5.0","MSXML2.XMLHttp.4.0","MSXML2.XMLHttp.3.0","MSXML2.XMLHttp","Microsoft.XMLHttp"];
    if(
window.XMLHttpRequest) {
        
req = new XMLHttpRequest();    
    }
    else if(
window.ActiveXObject) {
        for (var 
0acv.lengthi++) {
            try {
                var 
actx = new ActiveXObject(acv[i]);
                
req actx;
            }catch (
error) {}
        }
    }
    else {
        
alert('Error fatal. Tu ordenador va a explotar');    
    }
    return 
req;

Y creamos la funcion que llama a tu querida funcion (si sólo quieres que se ejecute esa function, métela aislada en un archivo php. Hasta dónde yo se (novato), no se puede llamar a una funcion específica sin usar frameworks en plan XAJAX)

No se si le debes pasar argumentos o no. Presupongo que no.
Código PHP:
function getMensajes() {
    
peticion crearObjeto();
    
peticion.open('GET''ver_mensajes.php'true);
    
peticion.onreadystatechange = function() {
    if(
peticion.readyState == 1){
        
document.getElementById('divdondetieneslosmensajes').innerHTML "Cargando comentarios...";
    }
    else if(
peticion.readyState == 4) {
        if(
peticion.status == 200) {
            
document.getElementById('divdondetieneslosmensajes').innerHTML peticion.responseText;
                    }
                }
    
peticion.send(null);

Datos: divdondetieneslosmensajes -> no hace falta explicar...
ver_mensajes.php -> archivo donde está la función vermensajes(). Recuerda que debe "escribir" algo, pues lo que hace la funcion es mas o menos meter en el div lo que te hace dicha funcion php.

Para hacerlo cada tres segundos, una sencilla línea que llamas al principio:

Código HTML:
setInterval("getMensajes()",300);
Repasa bien los corchetes, pues puede que me haya comido alguno.. Un saludo