Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

opl12

Loop passo a passo ao clicar em botão

Recommended Posts

Olá pessoal!

Por favor, podem dar um help neste caso? 
Fiz um FOR, que busca no banco o valor da coluna "id_perguntas" e "perguntas" na Tabela "perguntas" ....
ele roda num formulário

Gostaria que ao clicar no botão imprimisse na tela a 1ª linha do Banco... 
ao clicar novamente imprimisse apenas a 2ª linha do banco...
ao clicar pela 3ª vez imprimisse apenas a 3ª linha do banco...
e assim por diante, até o final das linhas existentes no banco de dados....

Desde já agradeço.

segue meu código:

<!DOCTYPE html>
<html lang="pt-br">
  <head>
    <title>Pesquisa - A Experiência do Cliente</title>
    <meta charset="utf-8">
  </head>
  <body>
  <h3>Pesquisa - A Experiência do Cliente</h3>
<?php

$servername = "localhost";
$username = "root";
$password = "";
$dbname = "pesquisa";
$p = 0;
$id_pergunta = 0;
$pergunta = "";

// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);

  for($p==0; $p<7; $p++)
      {
      
  
      $query = sprintf("SELECT pergunta, id_perguntas FROM perguntas WHERE id_perguntas = %d",$p );
  //    echo $pergunta;
      $dados = mysqli_query($conn, $query) or die(mysqli_error());
  
      $result = $conn->query($query);
  // fetch the result row.
      $data = $result->fetch_assoc();
  
      $total = mysqli_num_rows($dados);
      
      $id_pergunta = $data['id_perguntas'];     
      $pergunta = $data['pergunta'];
  
  
      echo $pergunta;
      echo "<br>";
      echo $id_pergunta;
  
      
      
  
      }
?>          
            <form name="form1" action="config/form1a.php" method="post" ><br><br>
                <br><br><br><br>
                <input type="submit" name="proximo2" value="Próximo"/>
            </form>
            

<?php  
  
$conn->close();

?>

  </body>
</html>


 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Supondo que você está usando a mesma página para enviar o formulário e pegar o resultado, crie um limitador na sua consulta começando em 0 e mostrando apenas 1 registro por vez. Você pode fazer isso via GET ou via POST vou dar um exemplo com POST

 

//No inicio do código verifique se a variavel do limitador foi passada ou não.

//se foi passada

if(isset($_POST["linha"])){

  //adicione +1 a linha

  $linha = $_POST["linha"];
  $linha++;

//se não foi passada inicie do zero

} else {

  $linha = 0;

}

 

Dai no sua consulta você adiciona o limitador

"SELECT pergunta, id_perguntas FROM perguntas WHERE id_perguntas = %d LIMIT $linha, 1" 

 

E no seu form você cria um input hidden para enviar a variavel

<input type="hidden" name="linha" value="'<?=$linha;?>'">

 

Toda vez que você envia o form a variável $linha aumenta 1, e assim você vai pegando sempre o próximo registro da tabela

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por violin101
      Caros amigos do grupo, saudações e um feliz 2025.
       
      Estou com uma pequena dúvida referente a Teclas de Atalho.

      Quando o Caps Lock está ativado o Comando da Tecla de Atalho não funciona.
      ou seja:
      se estiver para letra minúscula ====> funciona
      se estiver para letra maiúscula ====> não funciona
       
      Como consigo evitar essa falha, tanto para Letra Maiúscula quanto Minúscula ?

      o Código está assim:
      document.addEventListener( 'keydown', evt => { if (!evt.ctrlKey || evt.key !== 'r' ) return;// Não é Ctrl+r, portanto interrompemos o script evt.preventDefault(); });  
      Grato,
       
      Cesar
    • Por ILR master
      Fala galera, tudo certo?
       
      Seguinte: No servidor A estou tentando fazer uma consulta com o servidor B, mas está dando erro.
      Estou usando o mesmo código de conexão do servidor B que funciona perfeitamente, mas no servidor A, dá erro.
      Segue código:
       
      $host = 'servidor B';
      $user = 'user';
      $pass = '********';
      $db   = 'banco';
       
      // conexão e seleção do banco de dados
      $conexao = mysqlI_connect($host, $user, $pass, $db);
      mysqlI_set_charset($conexao,"utf8");
      //print "Conexão rodando e OK!"; 
      //mysqlI_close($conexao);
       
      Alguém pode me ajudar?
    • Por violin101
      Caros amigos, saudações.
       
      Por favor, poderiam me ajudar.

      Estou com a seguinte dúvida:
      --> como faço para para implementar o input código do produto, para quando o usuário digitar o ID o sistema espera de 1s a 2s, sem ter que pressionar a tecla ENTER.

      exemplo:
      código   ----   descrição
           1       -----   produto_A
       
      Grato,
       
      Cesar
    • Por violin101
      Caros amigos, saudações.
       
      Humildemente peço desculpa por postar uma dúvida que tenho.

      Preciso salvar no MySql, os seguinte Registro:

      1 - Principal
      ====> minha dúvida começa aqui
      ==========> como faço para o Sistema Contar Automaticamente o que estiver despois do 1.____?
      1.01 - Matriz
      1.01.0001 - Estoque
      1.01.0002 - Oficina
      etc

      2 - Secundário
      2.01 - Loja_1
      2.01.0001 - Caixa
      2.01.0002 - Recepção
      etc
       
      Resumindo seria como se fosse um Cadastro de PLANO de CONTAS CONTÁBEIL.

      Grato,


      Cesar









       
    • Por violin101
      Caros amigos, saudações.

      Por favor, me perdoa em recorrer a orientação dos amigos.

      Preciso fazer um Relatório onde o usuário pode Gerar uma Lista com prazo para vencimento de: 15 / 20/ 30 dias da data atual.

      Tem como montar uma SQL para o sistema fazer uma busca no MySql por período ou dias próximo ao vencimento ?

      Tentei fazer assim, mas o SQL me traz tudo:
      $query = "SELECT faturamento.*, DATE_ADD(faturamento.dataVencimento, INTERVAL 30 DAY), fornecedor.* FROM faturamento INNER JOIN fornecedor ON fornecedor.idfornecedor = faturamento.id_fornecedor WHERE faturamento.statusFatur = 1 ORDER BY faturamento.idFaturamento $ordenar ";  
      Grato,
       
      Cesar
       
       
       
       
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.