Hola, resulta que me he topado con el siguiente problema, me explico:
Resulta que tengo en 1 base de datos 2 camos:
de - nombre usuario
mensaje - mensaje de usuario
y tengo el siguiente .php:
$sql = "SELECT * FROM mensajes WHERE (para = '*' OR para ='$usuario') ORDER BY id";
$result = mysql_query($sql,$db);
if(mysql_num_rows($result)){
while($row=mysql_fetch_array($result)){
echo " parent.mensaje('".$row['de']."','".$row['texto']."');\n "; }
}
}
--------------------------------------------------
ok? Bien en la base de datos tengo unicamente 2 mensajes de prueba, el while envia uno por uno cada dato de la base de datos a la funcion mensaje mediante parent.mensaje el cual envia los datos 'de' y 'texto'. Ahora os dejo la funcion del javascript:
function mensaje(de,mensaje){
txt = parent.document.getElementById('chat_contenedor_me nsajes');
txt.innerHTML += '<p>'+de+' > ' + mensaje + '</p><br />';
txt.scrollTop = 10000;
}
bueno resulta que en el archivo .php ese codigo esta dentro de <script> porque lo que hago es recargar la base de datos cada x tiempo, le habia puesto un setInterval, y esta funcion que os acabo de colocar esta dentro de un archivo .js independiente al .php vale entonces al recibir los datos del .php a esta funcion me representa el mensaje en el div llamado chat_contenedor_mensajes peeeero como el .php cada 5 segundos se recarga para ver si hay mensajes nuevos pues resulta que este javascript lo que hace es que me va copiando los mensajes cada 5 segundos sin borrarlos, es decir, si tengo ejemplo:
User: Hola
User1: Hola
pues cada 5 segundos me pone
User: Hola
User1: Hola
User: Hola
User1: Hola
asi seguidamente...... todo es cuestion del javascript, a ver como puedo acer el inner para que me borre el contenido y lo vuelva a colocar de nuevo, para que no sume, a todo esto, tambien e probado poniendolo asi;
function mensaje(de,mensaje){
txt = parent.document.getElementById('chat_contenedor_me nsajes');
txt.innerHTML = '';
txt.innerHTML += '<p>'+de+' > ' + mensaje + '</p><br />';
txt.scrollTop = 10000;
}
poniendo el txt.innerHTML = ''; y nada, como me envia los datos 1 por 1 el .php a la funcion, pues unicamente me muestra el ultimo mensaje añadido in mostrar los anteriores, en este caso, de los 2 que tengo;
User: Hola
User1: Hola
me muestra solamente User1: Hola
en fin, alguien me puede ayudar?