Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

125
Vistas
Actualice HTML cuando se noten cambios en la base de datos MySQL

Lo siento si esta es una pregunta de novato total, pero parece que no puedo encontrar ninguna respuesta a mi pregunta aquí en la gran web...

Estoy construyendo un sitio, donde depende que algunos de los datos en la página deban actualizarse automáticamente....

Más específico, cuando se realiza un cambio en la base de datos MySQL. Digamos, por ejemplo, que el valor de una fila en la base de datos es 10 y cambia a 11. Necesito que la página obtenga esto automáticamente de la base de datos y lo actualice en el sitio. Además, si es posible, ¿hay alguna forma de que los números "salten" un poco cuando los datos reales están cambiando?

 <div class="container hero-unit"> <h1>Test Data Change</h1> <p>231</p> <p>7</p> <p>14532</p> </div>

Digamos que estos números se obtienen de la base de datos, ¿cómo usaría 'AJAX' para cambiar automáticamente estos datos cuando se realiza un cambio en la base de datos?

Si esto es posible, agradecería cada contribución...

about 4 years ago · Santiago Trujillo
3 Respuestas
Responde la pregunta

0

Este proceso se denomina polling . Básicamente, hay dos formas de hacer esto: long polling y short polling

En Short polling , básicamente crea un temporizador y obtiene información de un archivo php que genera datos de base de datos cada pocos segundos y luego compara los datos para ver si los datos se han actualizado o no.

Luego, se prefiere el long polling , ya que ejerce menos presión sobre el servidor. FB utiliza long polling . En este proceso, lo que básicamente hace es realizar una solicitud a un archivo php y el archivo php no responde hasta que haya una actualización en la base de datos, por lo que en lugar de realizar una solicitud ajax al archivo php cada pocos segundos aquí se realiza cada minuto o así poniendo menos presión en el servidor.

Puede encontrar un ejemplo de sondeo largo aquí https://techoctave.com/c7/posts/60-simple-long-polling-example-with-javascript-and-jquery

Más ejemplos aquí https://gist.github.com/jhbsk/4353139

about 4 years ago · Santiago Trujillo Denunciar

0

Si está utilizando php, entonces puede seguir este código:

En tu html,

 <script type="text/javascript" src="http://ajax.googleapis.com/ajax/ libs/jquery/1.3.0/jquery.min.js"></script> <script type="text/javascript"> var auto_refresh = setInterval( function () { $('#load_tweets').load('record_count.php').fadeIn("slow"); }, 1000); // refresh every 1000 milliseconds <body> <div id="load_tweets"> </div> </body>

En su archivo PHP (record_count.php)-

 <?php include("db.php"); $search_word=$_GET['q']; $sql = mysqli_query($db,"Select number form Users"); $record_count=mysqli_num_rows($sql); //Display count......... echo $record_count; ?>

Ref: http://www.9lessons.info/2009/07/auto-load-refresh-every-10-seconds-with.html

about 4 years ago · Santiago Trujillo Denunciar

0

La respuesta corta es que una vez que el navegador tiene la página, ese es el final de la conexión. No hay forma de que el servidor informe al navegador que algo ha sucedido.

Sin embargo, utilizando JavaScript, puede realizar solicitudes post hoc al servidor, un proceso conocido como Ajax. Para esto, necesitas 2 partes:

  • un script PHP que responde a una solicitud y devuelve un resultado
  • un JavaScript que envía la solicitud y procesa el resultado.

El script PHP puede ser relativamente corto y simple:

 <?php $id=@intval($_GET['id']); // get data from database into an array print json_encode($result); ?>

Y JavaScript solo necesita enviar la solicitud y manejar la respuesta. El truco es hacer esto periódicamente, como con window.setInterval .

 var xhr=new XMLHttpRequest(); xhr.onload=doit; var url='…?id=…'; xhr.open('get',url,true); window.setInterval(poll,1000); // every second function poll() { xhr.send(null); } function doit() { var result=this.response; result=JSON.parse(result); // etc }

En ausencia de datos específicos, el código anterior no se ha probado, pero así es como debería funcionar.

about 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda