Foros del Web » Programando para Internet » Javascript »

Mostrar datos mysql en div con javascript

Estas en el tema de Mostrar datos mysql en div con javascript en el foro de Javascript en Foros del Web. Hola, resulta que me he topado con el siguiente problema, me explico: Resulta que tengo en 1 base de datos 2 camos: de - nombre ...
  #1 (permalink)  
Antiguo 08/08/2012, 04:21
tukymix
Invitado
 
Mensajes: n/a
Puntos:
Mostrar datos mysql en div con javascript

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+' &gt; ' + 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+' &gt; ' + 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?

Etiquetas: funcion, html, js, mysql, php, select
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 15:18.