Jump to content
Fórum Script Brasil
  • 0

Buscar uma tabela em 1 em 1 segundo sem reflesh


adrsublimacao

Question

Bom dia precisava de uma ajudinha queria criar uma função pra buscar tipo o campo da tabela pedidos o status do pagamento em 1 em 1 segundo sem dar reflesh na página ... porque quero isso tenho integração com pix no caso aí quando a pessoa paga o banco atualiza lá pra pago so q pra atualizar na tela pago tenho q dar o reflesh teria como eu buscar o status vindo do banco sem reflesh

 

para você entender ao carregar a pagina eu faco essa busca

 

<?php
 
// faz a busca pelo numero do pedido que já existe na seção
$buscapedidos = $connect->query("SELECT * FROM `pedidos` WHERE idpedido = '$id_cliente' AND idu='$idu'");
$quantidade_pedidos   = $buscapedidos->rowCount();
$pedidosc   = $buscapedidos->fetch(PDO::FETCH_OBJ);
// fim da busca de pedido
 
?>
 
 
<! – condições para finalizar o pedido quando o pagamento for aprovado  –>
  <?php if($pedidosc->status_pagamento_mp == "approved" || $pedidosc->status_pagamento_mp == "paid"  ){  ?>            
  <script type="text/javascript">
    r(function(){  
      document.getElementById('btnconcluir').click();
    });
    function r(f){/in/.test(document.readyState)?setTimeout('r('+f+')',9):f()}
  </script>                      
  <?php }  ?>
 
so que pra atualizar a tela eu uso reflesh
<script type="text/javascript">                
    setTimeout(function() {
      window.location.href = "form_pagamento_balcao?idpedido=<?php echo $id_cliente?>";
    }, 60000);                          
  </script>
 
mais não queria da reflesh na tela queria algo q fizesse essa busca no banco sem o reflesh 
porque como ta eu to dando o reflesh pra ele buscar no banco cada 60 segundos 
 
o que quero e fazer a busca do estatus $pedidosc->status_pagamento_mp sem dar reflesh
 

Edited by adrsublimacao
Link to comment
Share on other sites

7 answers to this question

Recommended Posts

  • 0
2 minutos atrás, lowys disse:

Tem como me montar um exemplo pra eu entender melhor usando minha tabela e campo status da tabela pedidos e retornando em 1 em 1 segundo o status da tabela

Link to comment
Share on other sites

  • 0

Não depende da tabela no seu database.
basta pulsar a requisição para a api
mostre-nos o trecho frontend onde o sr. faz o fetch dos dados.
lá nesse trecho, com o tanstack query, defina o staleTime para 1000

Link to comment
Share on other sites

  • 0
12 minutos atrás, lowys disse:

Não depende da tabela no seu database.
basta pulsar a requisição para a api
mostre-nos o trecho frontend onde o sr. faz o fetch dos dados.
lá nesse trecho, com o tanstack query, defina o staleTime para 1000

Mais me de um exemplo pra uma tabela do seu banco aí eu entendo e adapto no meu e só pra.eu entender a lógica mesmo

Link to comment
Share on other sites

  • 0

Segue exemplo de tabela do meu banco, nada a ver com a questão:

https://www.db-fiddle.com/f/7RG4GiSWRAEZ7aoj8ADipV/1

create table nadaAver(
  id int(11) auto_increment primary key,
  `status` tinyint(1) default 0,
  created_at timestamp default current_timestamp
)engine innoDB

status zero = não foi pago ainda
status = 1 já foi pago

Edited by lowys
Link to comment
Share on other sites

  • 0
9 horas atrás, lowys disse:

Segue exemplo de tabela do meu banco, nada a ver com a questão:

https://www.db-fiddle.com/f/7RG4GiSWRAEZ7aoj8ADipV/1

create table nadaAver(
  id int(11) auto_increment primary key,
  `status` tinyint(1) default 0,
  created_at timestamp default current_timestamp
)engine innoDB

status zero = não foi pago ainda
status = 1 já foi pago

segue exemplo abaixo pra você entender melhor

Edited by adrsublimacao
Link to comment
Share on other sites

  • 0
10 horas atrás, adrsublimacao disse:

Amigo quero saber como faço a consulta sem reflesh não como cria a tabela não entendi o q quis me mostrar

para você entender ao carregar a pagina eu faco essa busca

 

<?php
 
// faz a busca pelo numero do pedido que já existe na seção
$buscapedidos = $connect->query("SELECT * FROM `pedidos` WHERE idpedido = '$id_cliente' AND idu='$idu'");
$quantidade_pedidos   = $buscapedidos->rowCount();
$pedidosc   = $buscapedidos->fetch(PDO::FETCH_OBJ);
// fim da busca de pedido
 
?>
 
 
<! – condições para finalizar o pedido quando o pagamento for aprovado  –>
  <?php if($pedidosc->status_pagamento_mp == "approved" || $pedidosc->status_pagamento_mp == "paid"  ){  ?>            
  <script type="text/javascript">
    r(function(){  
      document.getElementById('btnconcluir').click();
    });
    function r(f){/in/.test(document.readyState)?setTimeout('r('+f+')',9):f()}
  </script>                      
  <?php }  ?>
 
so que pra atualizar a tela eu uso reflesh
<script type="text/javascript">                
    setTimeout(function() {
      window.location.href = "form_pagamento_balcao?idpedido=<?php echo $id_cliente?>";
    }, 60000);                          
  </script>
 
mais não queria da reflesh na tela queria algo q fizesse essa busca no banco sem o reflesh 
porque como ta eu to dando o reflesh pra ele buscar no banco cada 60 segundos 
 
o que quero e fazer a busca do estatus $pedidosc->status_pagamento_mp sem dar reflesh
 
 
Edited by adrsublimacao
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152.1k
    • Total Posts
      651.8k
×
×
  • Create New...