Retornar números de registro ao realizar uma busca.

Home Fóruns PHP/MYSQL Retornar números de registro ao realizar uma busca.

Visualizando 3 respostas da discussão
  • Autor
    Posts
    • #65472

      Boa noite,

      Na parte de realizar a busca gostaria de retornar a quantidade de registro.

      Eu consigo retornar o total de registro mais quando vou realizar uma busca permanece com a quantidade de registro total.

      $busca = $banco->query($q);

      if (!$busca) {
      echo “Erro na busca.”;
      } else {
      if ($busca->num_rows == 0) {
      echo “Nem um registro encontrado!”;
      } else {
      $reg = “SELECT count(*) as j FROM jogos”;
      $sql = $banco->query($reg);
      $sql = $sql->fetch_assoc();
      $total = $sql[‘j’];
      echo ‘O número de registros de “Jogos” é: <b>’ . $total . ‘</b>’;

      while ($reg = $busca->fetch_object()) {
      $t = thumb($reg->capa);
      echo “<tr><td><td>cod’>$reg->nome“;
      echo ” – $reg->genero”;
      echo “<br/>$reg->produtora”;
      echo “<td>Adm”;
      }
      }
      }

    • #65613
      Tutora Mayla
      Mestre

      Lee, poderia por favor descrever mais sua dúvida para que eu consiga te ajudar de melhor forma.

    • #65734

      Aqui eu consigo trazer a quantidade de registro
      $reg = “SELECT count(*) as j FROM jogos”;
      $sql = $banco->query($reg);
      $sql = $sql->fetch_assoc();
      $total = $sql[‘j’];
      echo ‘O número de registros de “Jogos” é: <b>’ . $total . ‘</b>’;

      Mais quando faço um filtro pelo input busca que usa %LIKE% para ex: por Nintendo tenho retorno de dois registros.

      quando realizar esse filtro por busca trazer o numero de registro no caso do exemplo dois registro encontrado.

    • #65950
      Tutora Mayla
      Mestre

      Lee, isto está acontecendo pois este código irá realizar a contagem de todos os jogos que estão cadastrados no banco. Por exemplo, se na tabela jogos tem 11 jogos cadastrados, este código sempre dirá que existem 11 jogos.
      Para atingir o seu objetivo deve ser feita a contagem de quantos jogos a busca feita em $busca = $banco->query($q); retorna. Isso é possível utilizando a contagem de linhas retornadas. Por exemplo:

      $busca = $banco->query($q);
      if (!$busca) {
          echo “Erro na busca.”;
      } else {
          if ($busca->num_rows == 0) {
              echo “Nem um registro encontrado!”;
          } else {
              echo "$busca->num_rows jogos encontrados!";
          }
      }

      Isto funciona porque a variável $busca->num_rows armazena quantas linhas da tabela foram retornadas para a busca realizada no banco.

      Espero ter ajudado, quaisquer outras dúvidas basta entrar em contato.

Visualizando 3 respostas da discussão
  • Você deve fazer login para responder a este tópico.