Ir para conteúdo
Fórum Script Brasil
  • 0

Buscar uma tabela em 1 em 1 segundo sem reflesh


adrsublimacao

Pergunta

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
 

Editado por adrsublimacao
Link para o comentário
Compartilhar em outros sites

7 respostass a esta questão

Posts Recomendados

  • 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 para o comentário
Compartilhar em outros 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 para o comentário
Compartilhar em outros 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 para o comentário
Compartilhar em outros 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

Editado por lowys
Link para o comentário
Compartilhar em outros 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

Editado por adrsublimacao
Link para o comentário
Compartilhar em outros 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
 
 
Editado por adrsublimacao
Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...