Ver Mensaje Individual
  #1 (permalink)  
Antiguo 16/02/2011, 13:44
Avatar de almagropaco_
almagropaco_
 
Fecha de Ingreso: marzo-2008
Ubicación: Mar del Plata
Mensajes: 854
Antigüedad: 16 años, 1 mes
Puntos: 25
Se repiten resultados de consulta.

Hola, tengo un problema. Tengo un "libro de visitas" si es que asi se lo puede llamar, hecho casero, muy simple, ahora lo que le agrege es que cada 3 segundos se actualize el <p> donde estan los mensajes, entonces si hay nuevos apareceran, todo lo de actualizar fue hecho con scripts javascript que encontre por la web..

Eso funciona genial, pero tengo un problema, cuando pasan los 3 segundos del SetInterval, se repiten los resultados ejemplo si los resultados son:
Cita:
B
A
B
Cuando pasan esos tres primeros segundos, se carga de nuevo quedando asi:
Cita:
B
A
B
B
A
B
Luego de eso, el script funciona genial, cada 3 segundos aparecen los nuevos mensajes

PD: No estoy seguro si esto va en PHP o javascript, ya que lo que se repite son los resultados de una consulta Mysql, hecha con PHP, que se actualiza con javascript.

Les muestro parte de mi script para que entiendan mas:
Cita:
<script src="jquery-1.5.js" language="javascript"></script>
<script language="javascript">
window.onload = setInterval('recargar()',3000);
</script>
<script language="javascript"> function recargar(){
var variable_post="ok=ok"; /// Aqui podemos enviarle alguna variable a nuestro script PHP
$.post("mensajes.php", { variable: variable_post }, function(data){ /// Invocamos a nuestro script PHP
$("#actualizar").html(data); }); /// Ponemos la respuesta de nuestro script en el párrafo recargado
} </script>

<?php
include("mensajes.php");
?>
Eso son partes de la pagina chat.php, la siguiente es la pagina mensajes.php
Cita:
//Todas unas cadenas de coneccion a la base de datos, no es necesario mostrarlas

$list = mysql_query("SELECT * from mensaje ORDER BY id desc LIMIT $from,$max_results"); //esta es la consulta el limit es porque hay una paginacion, que tampoco es necesario mostrar..

echo"<p id='actualizar'>";
while($row = mysql_fetch_assoc($list)) {
echo nl2br("<div align='center'><strong>$row[autor]</strong>:$row[mensaje]<div style='text-align:right;'>$row[fecha] - $row[ip]</div><hr style='width:620px;'/></div>");}
echo"</p>";
Entonces, no entiendo porque cargan bien los resultados y luego se repiten, pero se repiten una sola vez, luego de todo eso funciona perfecto el script. Saludos y muchas gracias