Foros del Web » Programando para Internet » Jquery »

[SOLUCIONADO] Mostrar datos cada 5 segundos de un array

Estas en el tema de Mostrar datos cada 5 segundos de un array en el foro de Jquery en Foros del Web. Muy buenas, Tengo el siguiente código: @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código Javascript : Ver original <?php $link = mysqli_connect("localhost","root","","prueba") or die("Error " . mysqli_error($link)); $query = "SELECT ...
  #1 (permalink)  
Antiguo 10/07/2015, 08:15
 
Fecha de Ingreso: enero-2010
Mensajes: 491
Antigüedad: 14 años, 3 meses
Puntos: 12
Mostrar datos cada 5 segundos de un array

Muy buenas,

Tengo el siguiente código:

Código Javascript:
Ver original
  1. <?php
  2. $link = mysqli_connect("localhost","root","","prueba") or die("Error " . mysqli_error($link));
  3. $query = "SELECT * FROM album order by id desc limit 1" or die("Error en la consulta.." . mysqli_error($link));
  4. $result = mysqli_query($link, $query);
  5. $row = mysqli_fetch_array($result);
  6. ?>
  7. <!DOCTYPE html>
  8. <html>
  9. <head>
  10.     <title>prueba</title>
  11. <script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
  12. </head>
  13. <body>
  14. <span id="counter"><?php echo $row['artist']; ?></span>
  15.  
  16. <script type="text/javascript">
  17. $(document).ready(function() { 
  18.     function update(){
  19.         $.ajax({
  20.             type: "POST",
  21.             url: "sum.php",
  22.             success: function(output) {
  23.                 $('#counter').text(output);
  24.             }
  25.         });
  26.     }
  27.     setInterval(update, 5000);
  28. });
  29. </script>
  30. </body>
  31. </html>

Lo que hace básicamente es mostrar el útimo registro, es decir si la base de datos se actualiza con un nuevo registro, el ajax muestra ese ultimo registro.

Pero lo que necesito es que muestre los últimos 10 registros, y en cada ciclo, estos deberían cambiar con los últimos datos registrados. es decir en la primera iteración se recoge 10 registros y se muestra uno a uno cada 5 segundos, terminan de mostrar el último y nuevamente debería ir a recoger los últimos 10 registros y nuevamente continuar con el proceso.

Había pensado usar recursividad, pero aún no he logrado hacer que funcione. Toda ayuda se agradece.

Saludos
  #2 (permalink)  
Antiguo 10/07/2015, 08:39
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: Mostrar datos cada 5 segundos de un array

¿Ya probaste cambiando la última parte de la sentencia SQL de LIMIT 1 a LIMIT 10?

Por otra parte, al hacer esto de manera constante, puedes llegar a saturar al servidor con tantas peticiones. Te sugiero buscar acerca del long-polling o, mejor aún, sobre websockets.

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #3 (permalink)  
Antiguo 10/07/2015, 09:10
 
Fecha de Ingreso: enero-2010
Mensajes: 491
Antigüedad: 14 años, 3 meses
Puntos: 12
Respuesta: Mostrar datos cada 5 segundos de un array

jaja buena consulta, si cambié la sentencia a LIMIT 10.

Ok, analizaré tu recomendación, nose exactamente que es pero si pudieras guiarme sería genial
  #4 (permalink)  
Antiguo 10/07/2015, 09:53
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: Mostrar datos cada 5 segundos de un array

Esta es la mejor guía que encontré en español sobre introducción a las websockets. Una vez que hayas entendido esto, busca cómo trabajar con ellas y PHP. He leído que se usan en los servicios de chat para mantener una conexión constante y mostrar los mensajes de un lado y otro (emisor y receptor) solo cuando se detectan nuevos datos, que en este caso serían los mensajes escritos.

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #5 (permalink)  
Antiguo 10/07/2015, 14:47
 
Fecha de Ingreso: enero-2010
Mensajes: 491
Antigüedad: 14 años, 3 meses
Puntos: 12
Respuesta: Mostrar datos cada 5 segundos de un array

Muchas Gracias alexis88, la verdad me quedó algo grande la forma de implementarlo, intentaré de momento intentaré desarrollarlo usando ajax, ya luego pediré algo más de tiempo para implementar websockets.

Mil gracias

Etiquetas: cada, segundos
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 06:28.