Actualizar o refrescar datatable de forma automática cada pocos segundos
Bienvenidos a VerTutoriales.com en esta ocasión os traigo un código para actualizar una Datatable a tiempo real cada pocos segundos (en el ejemplo son 3 segundos)
Es normal que cuando trabajamos con información y aún más común que estemos monitorizando esa información que esta tenga que actualizarse cada poco tiempo y de forma automática. Para ello javascript nos ofrece la función setInterval que lanzará de forma repetitiva cada x milisegundos la función que queramos.
En nuestro caso, vamos a utilizar un código compartido desde nuestro canal de Youtube, se trata de una actualización de una datatable utilizando la función setInterval, consiguiendo así que la información quede refrescada cada 3000 milisegundos.
El código js con la llamada AJAX a la datatable:
[codesyntax lang=”javascript”]
// actualizacion de contenido en tiempo real setInterval(function() { table.ajax.reload(function(){ $(".paginate_button > a").on("focus",function(){ $(this).blur(); }); }, false); }, 3000);
[/codesyntax]
Espero que os sirva! Si tenéis cualquier duda podéis comentar y así os ayudaremos con vuestros problemas 😀
Seguimos avanzando!
Comments
hola amigo,disculpa la imprudencia el asunto es que al cargar la tabla con datos de mysql, solo queda cargando, no se si tengo mal ubicado mi funciones.php o si tengo un error en el saludos
Eso pueden ser varios motivos, lo más normal es que la llamada no esté bien hecha o que el PHP no esté devolviéndote como esperaba la información.
Lo más sencillo es que desmontes todo y vayas paso a paso. Si ya te falta solo la sincronización con la base de datos. Primero muestra la información sin la tabla y comprueba que lo que devuelve es lo que espera la tabla.
Ahora al principio es muy importante ver como trabaja cada objeto por separado. Por un lado la datatable, y por otra la parte de infraestructura lógica de PHP con MySQL 😉
Finalmente, te recomendaría utilizar el inspector de elementos para ver resultados 😉
Por favor una ayuda… ¿Cómo hago para que un DATATABLE mantenga la posición? Cuando se actualiza algún dato que funciona con makeEditable; se va al inicio de la tabla y se pierden las barras de desplazamiento.
Supongo que actualizas la tabla completa y por eso se “reinicia”, tendrás que modificar la celda o fila afectada a mano, si recargas, lo único que se me ocurre es que vuelvas a posicionarla guardando el registro último modificado, pero aún así, esa recarga quedará “fea” de cara al usuario.
Espero que te sirva. Un saludo!
hola, ando buscando algo parecido, lo queria preguntar si tu sabes algun metodo de saber si una tabla mysql fue modificada y recien recargarla en una tabla o grid en php, soy nuevo en esto y no eh podido encontrar nada de eso en internet de ante mano gracias
Hay opciones llamadas disparadores o “triggers” que se lanzan cuando se ejecuta alguna de las acciones como inserción, modificación y/o eliminación, de manera que se acción puede conllevar algún tipo de bandera que controles.
Otra forma es utilizar algún lenguaje desde el servidor que se comunique con el cliente como node.js
Y finalmente, si la tiras por el camino más sencillo pero que puede ser igualmente funcional, lanzar desde el cliente un refresco de la información cada X segundos.
Espero que te sirva o al menos te oriente para seguir el camino 🙂
muchas gracias, justo hoy llegue a esa solucion de los node.js como dije anteriormente soy nuevo en esto, vere si tu tienes alguna cosa relaciona con los node en tu pagina y si no estaria agradecido si haces algo parecido de lo que pido, gracias otra vez por responder tan rapido.