Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

368
Visualizações
¿Cómo actualizar automáticamente una página con ajax una vez que se actualiza un campo particular de una tabla en una base de datos?

Estoy codificando una aplicación de restaurante donde los clientes pueden pedir comida en una página web. El problema que tengo es que cuando los clientes terminaron de ordenar la comida, la web mostrará que el pedido aún no se pagó hasta que los clientes se lo pagaron al personal del restaurante y el personal del restaurante actualizó el pedido en la base de datos desde otro dispositivo. Quiero que esta página web verifique constantemente la base de datos con el mismo "order_id" y verifique el campo "estado". El campo de estado tendrá un valor entero (0=no he pagado, 1=pagado) Así es como funciona el pedido

  • el chico pide la comida desde el dispositivo del chico
  • chico hizo clic en "hecho"
  • el pedido se coloca en una base de datos de tabla con un conjunto de campos simplemente como este ("order_id","order_status")
  • la página web del tipo muestra "Esperando el pago"
  • el tipo se lo pagó al personal
  • el personal actualiza el "order_status" de 0 a 1 desde otro dispositivo
  • la página web de Guy muestra automáticamente "Pago recibido" y muestra un botón para volver a home.php

esta es mi pagina web

 <div class="modal-header"> <h5 class="modal-title" id="">Waiting for payment</h5> <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button> </div> <div class="modal-body"> <p class="h5">Transaction is on going <span class='spinner-border spinner-border-sm'></span></p> <p class='h5'>total price = Rp. <?php echo $_SESSION['totalprice'];?> ,-</p> <div class="overflow-auto mb-3" style="height: 400px;"> </div> </div> <div class="modal-footer"> <button type="button" class="btn btn-secondary" data-bs-dismiss="modal">cancel</button> </div>

Estoy planeando usar ajax para este, pero soy realmente nuevo en ajax y el otro hilo parece no ser exactamente lo que busco porque implica un clic de botón o una entrada del usuario, pero quiero que esto sea en tiempo real y no tener alguna entrada de los clientes. estoy usando mysql para la base de datos.

about 4 years ago · Juan Pablo Isaza
2 Respostas
Responde à pergunta

0

Su llamada AJAX se puede realizar a intervalos establecidos utilizando la función setInterval() de Javascript, acertadamente nombrada.

El método setInterval(), que se ofrece en las interfaces Window y Worker, llama repetidamente a una función o ejecuta un fragmento de código, con un retraso de tiempo fijo entre cada llamada.

Este método devuelve un ID de intervalo que identifica de forma única el intervalo, por lo que puede eliminarlo más tarde llamando a clearInterval().

MDN establecerIntervalo()

about 4 years ago · Juan Pablo Isaza Relatório

0

Bueno, estarás lidiando con algo como

 <script> function checkOrderStatus(){ // Instantiate an new XHR Object const xhr = new XMLHttpRequest(); // we call the file responsible for checking the db xhr.open("GET","check_order.php", true); // When response is ready xhr.onload = function () { if (this.status === 200) { // we check the data return if(this.responseText === 1){ // Getting the element where we will display our response message let feedback = getElementsByClassName("h5"); feedback.innerHTML = "Payment Received"; clearInterval(timer); // we stop checking the database } else { console.log('Still waiting...'); }; } else { console.log("Something went wrong!"); } } // At last send the request xhr.send(); } } // now we want call this function every 3 seconds let timer = setInterval(() => checkOrderStatus(), 3000);

Por supuesto, tendrá que pasar una ID de pedido, ya sea adjuntando a la URL de check_order.php o como una variable de sesión.

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda