Foros del Web » Programando para Internet » PHP »

Se repiten resultados de consulta.

Estas en el tema de Se repiten resultados de consulta. en el foro de PHP en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 16/02/2011, 13:44
Avatar de 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
  #2 (permalink)  
Antiguo 16/02/2011, 14:16
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Se repiten resultados de consulta.

pues tu problema tiene que ver en realidad con jQuery, no con PHP...

¿se te ha ocurrido eliminar el contenido del <p/> antes de insertar el contenido nuevo?

tal ves usando el método empty()

¿porque se repiten?

mira... entiende que el <p/> de ID #actualizar debería estar en el documento donde esta el Javascript que invoca la carga remota, pero no debe estar presente en la respuesta del script que devuelve los mensajes... ¿te parece bien?
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 16/02/2011, 14:42
Avatar de almagropaco_  
Fecha de Ingreso: marzo-2008
Ubicación: Mar del Plata
Mensajes: 854
Antigüedad: 16 años, 1 mes
Puntos: 25
Respuesta: Se repiten resultados de consulta.

Hola, gracias por responder, de javascript no entiendo nada, como seria aplicar el empty() que dices?

Otra cosa, si yo pongo el <p id='actualizar'> en la primera pagina, donde esta el codigo javascript, no se actualiza cada 3 segundos, entonces todo queda sin efecto, no se bien porque sera..

Gracias por responder, lamento no saber javascript como para que me ayuden mejor.
  #4 (permalink)  
Antiguo 16/02/2011, 14:50
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Se repiten resultados de consulta.

Cita:
Iniciado por almagropaco_ Ver Mensaje
Hola, gracias por responder, de javascript no entiendo nada, como seria aplicar el empty() que dices?
¿osea que usas jQuery sin saber usarlo?

por favor, lee un manual!!
http://api.jquery.com/category/manipulation/
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #5 (permalink)  
Antiguo 16/02/2011, 14:53
Avatar de almagropaco_  
Fecha de Ingreso: marzo-2008
Ubicación: Mar del Plata
Mensajes: 854
Antigüedad: 16 años, 1 mes
Puntos: 25
Respuesta: Se repiten resultados de consulta.

Como te dije fue un script que encontre por la web lo de refrescar y lo aplico, pero como dices ahora leo el manual. Gracias

Etiquetas: resultados
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 04:30.