Foros del Web » Programando para Internet » PHP »

Problema con .php+mysql+javascript

Estas en el tema de Problema con .php+mysql+javascript en el foro de PHP 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, 05:23
tukymix
Invitado
 
Mensajes: n/a
Puntos:
Problema con .php+mysql+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: html, mysql, sql, usuarios
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 14:37.