Jump to content
Henrique Augusto Rohloff

BUSCA DE PRODUTOS - Retornar mensagem se nada for encontrado

Recommended Posts

Olá! Sou iniciante e estou treinando para configurar uma página de buscas de produtos em um banco de dados.

Os produtos já estão sendo encontrados quando a palavra bate com os itens do banco. A conexão com o banco de dados está funcionando corretamente. Porém, quando nada é encontrado, queria que aparecesse uma mensagem "Nenhum resultado, tente novamente." Já tentei com  else de tudo que é jeito mas não aparece corretamente... Qual é o jeito certo?

 

Segue o código:

 

Spoiler

<div>
            <form id="form1" name="form1" method="post">
                <table width="467" border="0" bordercolor="#000">
                    <tbody>
                        <tr>
                            <td align="center" valign="middle">&nbsp;
                                
                            </td>
                            <td align="center" valign="middle">
                                <p style="margin:50px; margin-top:50px">
                                    Buscar
                                </p>
                            </td>
                            <td align="center" valign="middle">
                                <input style="width:250px !important; height:40px;
                                    font-size:12px !important; margin-top:10px" name="buscar" type="text"
                                    id="buscar" placeholder="Digite aqui o produto que voc&ecirc; procura">
                            </td>
                            <td align="center" valign="middle">
                                <p style="margin-top:10px">&nbsp;
                                    
                                </p>
                               </td>
                            <td align="center" valign="middle">
                                <p style="margin-top:10px">&nbsp;
                                    
                                 </p>
                            </td>
                            <td align="center" valign="middle">
                                <p style="margin-top:10px">&nbsp;
                                    
                                </p>
                            </td>
                            <td align="center" valign="middle">
                                <p style="margin-top:10px">&nbsp;
                                    
                                   </p>
                              </td>
                            <td align="center" valign="middle">
                                <input type="button" style="margin-top:10px"
                                name="aceitar" id="aceitar" value="Buscar">
                            </td>
                        </tr>
                        <tr>
                            <td align="center" valign="middle" border="1" style="font-size:10px">
                                C&oacute;digo:
                            </td>
                            <td align="center" valign="middle" border="1" style="font-size:10px">
                                Nome:
                            </td>
                            <td align="center" valign="middle" border="1" style="font-size:10px">
                                Imagem:
                            </td>
                            <td align="center" valign="middle" border="1" style="font-size:10px">
                                Descri&ccedil;&atilde;o:
                            </td>
                            <td align="center" valign="middle" border="1" style="font-size:10px">
                                Pre&ccedil;o:
                            </td>
                            <td align="center" valign="middle" border="1" style="font-size:10px">
                                Estoque:
                            </td>
                            <td align="center" valign="middle" border="1" style="font-size:10px">
                                Data:
                            </td>
                            <td align="center" valign="middle" border="1" style="font-size:10px">
                                Carrinho:
                            </td>
                        </tr>
                        <?php
                            
                            $result_produtos = "SELECT * FROM produtos WHERE nome LIKE '%".$_POST['buscar']."%'"; 
                               $consulta = mysqli_query ($conexao, "SELECT * FROM produtos");
                            $id_ok = ($consulta->num_rows);
                            if (isset($_POST['buscar']))
                                        {
                                            $consulta = mysqli_query ($conexao, $result_produtos);
                                        }
                                        else
                                                    {
                                                        echo "Nenhum resultado, tente novamente.";
                                                    }
                                            while($linha=mysqli_fetch_array($consulta))
                                                {
                                                    $id = $linha['id'];
                                                    $nome = $linha['nome'];
                                                    $imagem = $linha['imagem'];
                                                    $desc = $linha['descricao'];
                                                    $preco = $linha['preco'];
                                                    $quant = $linha['quantidade'];
                                                    $data = $linha['data'];
                                                    
                          ?>    
                           <tr>
                              <td align="center" valign="middle">
                                <p style="padding:10px">
                                    <?php
                                        echo $id;
                                    ?>
                                </p>
                            </td>
                              <td align="center" valign="middle">
                                <p style="padding:10px">
                                    <?php
                                        echo $nome;                                                    
                                    ?>
                                </p>
                            </td>
                              <td align="center" valign="middle">
                                <img height="200" width="200" src="
                                    <?php
                                        echo $imagem;
                                    ?>">
                            </td>
                              <td align="center" valign="middle">
                                <p style="padding:10px">
                                    <?php
                                        echo $desc;
                                    ?>
                                </p>
                            </td>
                              <td align="center" valign="middle">
                                <p style="padding:10px">
                                        R$ 
                                        <?php
                                            echo $preco;
                                        ?>
                                </p>
                            </td>
                              <td align="center" valign="middle">
                                <p style="padding:10px">
                                    <?php
                                        echo $quant;
                                    ?>
                                </p>
                            </td>
                            <td align="center" valign="middle">
                                <p style="padding:10px">
                                    <?php
                                        echo $data;
                                    ?>
                                </p>
                            </td>
                              <td align="center" valign="middle">
                                <p style="padding:10px">
                                    ADICIONAR
                                </p>
                             </td>
                        </tr>
                      </tbody>
                      <?php
                                        }
                            
                                    
                    ?>
                </table>
            </form>
        </div>

 

Share this post


Link to post
Share on other sites
if (isset($_POST['buscar']))
        {
          $result_produtos = "SELECT * FROM produtos WHERE nome LIKE '%".$_POST['buscar']."%'";
          $consulta = mysqli_query ($conexao, $result_produtos);

          $id_ok = $consulta->num_rows;

          if( $id_ok == 0 ){

            echo "Error nenhum produto encontrado.";

          }else{

            while($linha=mysqli_fetch_array($consulta)){
            $id = $linha['id'];
            $nome = $linha['nome'];
            $imagem = $linha['imagem'];
            $desc = $linha['descricao'];
            $preco = $linha['preco'];
            $quant = $linha['quantidade'];
            $data = $linha['data'];

          }
        }
      }

Tenta assim

 

Share this post


Link to post
Share on other sites

Deu certo! Muito obrigado!

 

Segue o código funcionando:

 

Spoiler

<div>
            <form id="form1" name="form1" method="post">
                <table width="467" border="0" bordercolor="#000">
                    <tbody>
                        <tr>
                            <td align="center" valign="middle">&nbsp;
                                
                            </td>
                            <td align="center" valign="middle">
                                <p style="margin:50px; margin-top:50px">
                                    Buscar
                                </p>
                            </td>
                            <td align="center" valign="middle">
                                <input style="width:250px !important; height:40px;
                                    font-size:12px !important; margin-top:10px" name="buscar" type="text"
                                    id="buscar" placeholder="Digite aqui o produto que voc&ecirc; procura">
                            </td>
                            <td align="center" valign="middle">
                                <p style="margin-top:10px">&nbsp;
                                    
                                </p>
                               </td>
                            <td align="center" valign="middle">
                                <p style="margin-top:10px">&nbsp;
                                    
                                 </p>
                            </td>
                            <td align="center" valign="middle">
                                <p style="margin-top:10px">&nbsp;
                                    
                                </p>
                            </td>
                            <td align="center" valign="middle">
                                <p style="margin-top:10px">&nbsp;
                                    
                                   </p>
                              </td>
                            <td align="center" valign="middle">
                                <input type="button" style="margin-top:10px"
                                name="aceitar" id="aceitar" value="Buscar">
                            </td>
                        </tr>
                        <tr>
                            <td align="center" valign="middle" border="1" style="font-size:10px">
                                C&oacute;digo:
                            </td>
                            <td align="center" valign="middle" border="1" style="font-size:10px">
                                Nome:
                            </td>
                            <td align="center" valign="middle" border="1" style="font-size:10px">
                                Imagem:
                            </td>
                            <td align="center" valign="middle" border="1" style="font-size:10px">
                                Descri&ccedil;&atilde;o:
                            </td>
                            <td align="center" valign="middle" border="1" style="font-size:10px">
                                Pre&ccedil;o:
                            </td>
                            <td align="center" valign="middle" border="1" style="font-size:10px">
                                Estoque:
                            </td>
                            <td align="center" valign="middle" border="1" style="font-size:10px">
                                Data:
                            </td>
                            <td align="center" valign="middle" border="1" style="font-size:10px">
                                Mais detalhes:
                            </td>
                            <td align="center" valign="middle" border="1" style="font-size:10px">
                                Carrinho:
                            </td>
                        </tr>
                        <!-- ABAIXO COMEÇA O PHP DA BUSCA ----------------------------------------------->
                        <?php
                            
                            if (isset($_POST['buscar']))
                                {
                                    $result_produtos = "SELECT * FROM produtos WHERE nome
                                    LIKE '%".$_POST['buscar']."%'"; 
                                    $consulta = mysqli_query ($conexao, $result_produtos);
                                    $id_ok = $consulta->num_rows;
                            
                                    if ($id_ok == 0)
                                        {
                                            echo "Nenhum resultado, tente novamente.";
                                        }
                                            else
                                                {
                                                    while($linha=mysqli_fetch_array($consulta))
                                                        {
                                                            $id = $linha['id'];
                                                            $nome = $linha['nome'];
                                                            $imagem = $linha['imagem'];
                                                            $desc = $linha['descricao'];
                                                            $preco = $linha['preco'];
                                                            $quant = $linha['quantidade'];
                                                            $data = $linha['data'];
                                                            $link = $linha['link'];
                                                
                                                    
                          ?>    
                           <tr>
                              <td align="center" valign="middle">
                                <p style="padding:10px">
                                    <?php
                                        echo $id;
                                    ?>
                                </p>
                            </td>
                              <td align="center" valign="middle">
                                <p style="padding:10px">
                                    <?php
                                        echo $nome;                                                    
                                    ?>
                                </p>
                            </td>
                              <td align="center" valign="middle">
                                <img height="100" width="100" src="produtos/
                                    <?php
                                        echo $imagem;
                                    ?>">
                            </td>
                              <td align="center" valign="middle">
                                <p style="padding:10px">
                                    <?php
                                        echo $desc;
                                    ?>
                                </p>
                            </td>
                              <td align="center" valign="middle">
                                <p style="padding:10px">
                                        R$ 
                                        <?php
                                            echo $preco;
                                        ?>
                                </p>
                            </td>
                              <td align="center" valign="middle">
                                <p style="padding:10px">
                                    <?php
                                        echo $quant;
                                    ?>
                                </p>
                            </td>
                            <td align="center" valign="middle">
                                <p style="padding:10px">
                                    <?php
                                        echo $data;
                                    ?>
                                </p>
                            </td>
                            <td align="center" valign="middle">
                                <p style="padding:10px">
                                     <a style="text-decoration:none; font-size:20px; font-weight:bold" href=" 
                                        <?php
                                            echo $link;
                                        ?>">
                                            +
                                     </a>
                                </p>
                             </td>
                              <td align="center" valign="middle">
                                <p style="padding:10px">
                                    ADICIONAR
                                </p>
                             </td>
                        </tr>
                      </tbody>
                      <?php
                                        
                                                            }
                                                        }
                                                    }
                            
                                    
                    ?>
                </table>
            </form>
        </div>

 

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By rvamecca
      Eu tenho um servidor que roda os PHP da versão 5.6 até a 8.0 com vários sites. Utilizo a versão FPM só que pesquisei na internet inteira e não consegui fazer rodar os arquivos customizados php.ini/.user.ini nos diretórios dos domínios. Chequei via phpinfo() e não carrega o arquivo customizado de configuração.
       
      Alguém pode me dar um help?
       
      Servidor Ubuntu 18.04 com Apache e as versões PHP 5.6, 7.0, 7.2, 7.4, 8.0 em FPM
    • By violin101
      Caros amigos, saudações...
       
      Fiz várias pesquisa, mas não consegui entender como devo fazer corretamente.
       
      Tenho um Cadastro de Produto/Clientes/etc.
       
      Gostaria de após clicar no Button ADICIONAR ou GRAVAR, quero mostrar na tela a seguinte mensagem:
      msg:
      Aguarde Processando...
       
      obs.: em alguns sistema até parece uma MODAL, com barra de progresso.
       
      Para impedir que o usuário fica Clicando nos Buttons.
       
      Alguém poderia me auxiliar de como devo fazer isso ?
       
      Grato,
       
      Cesar
    • By alysson122010
      Galera estou começando a trabalhar com datatables porem tenho uma dificuldade pq tipo até 200 registros por pagina é aceitavel mas penso quando tiver 2000 registro carregar tudo numa pagina so da errado pq é muitos dados e pode travar tudo.
      Como posso fazer para listar com limite por pagina ou alguma maneira para poder colocar varios dados sem travar.
       
      estou usando assim:
      <script type="text/javascript">        $(document).ready(function() {             $('#example').DataTable({         "order": [[ 0, "desc" ]],         "language": {             "url": "//cdn.datatables.net/plug-ins/1.10.21/i18n/Portuguese-Brasil.json"         }     });         } );        </script> <table id="example" class="table table-striped table-bordered" style="width:100%">         <thead>             <tr>                 <th>Name</th>                 <th>Position</th>                 <th>Office</th>                 <th>Age</th>                 <th>Start date</th>                 <th>Salary</th>             </tr>         </thead>         <tbody>             <tr>                 <td>Tiger Nixon</td>                 <td>System Architect</td>                 <td>Edinburgh</td>                 <td>61</td>                 <td>2011/04/25</td>                 <td>$320,800</td>             </tr>             <tr>                 <td>Garrett Winters</td>                 <td>Accountant</td>                 <td>Tokyo</td>                 <td>63</td>                 <td>2011/07/25</td>                 <td>$170,750</td>             </tr>             <tr>                 <td>Ashton Cox</td>                 <td>Junior Technical Author</td>                 <td>San Francisco</td>                 <td>66</td>                 <td>2009/01/12</td>                 <td>$86,000</td>             </tr>             <tr>                 <td>Cedric Kelly</td>                 <td>Senior Javascript Developer</td>                 <td>Edinburgh</td>                 <td>22</td>                 <td>2012/03/29</td>                 <td>$433,060</td>             </tr>             <tr>                 <td>Airi Satou</td>                 <td>Accountant</td>                 <td>Tokyo</td>                 <td>33</td>                 <td>2008/11/28</td>                 <td>$162,700</td>             </tr>             <tr>                 <td>Brielle Williamson</td>                 <td>Integration Specialist</td>                 <td>New York</td>                 <td>61</td>                 <td>2012/12/02</td>                 <td>$372,000</td>             </tr>             <tr>                 <td>Herrod Chandler</td>                 <td>Sales Assistant</td>                 <td>San Francisco</td>                 <td>59</td>                 <td>2012/08/06</td>                 <td>$137,500</td>             </tr>             <tr>                 <td>Rhona Davidson</td>                 <td>Integration Specialist</td>                 <td>Tokyo</td>                 <td>55</td>                 <td>2010/10/14</td>                 <td>$327,900</td>             </tr>             <tr>                 <td>Colleen Hurst</td>                 <td>Javascript Developer</td>                 <td>San Francisco</td>                 <td>39</td>                 <td>2009/09/15</td>                 <td>$205,500</td>             </tr>         </tbody>         <tfoot>             <tr>                 <th>Name</th>                 <th>Position</th>                 <th>Office</th>                 <th>Age</th>                 <th>Start date</th>                 <th>Salary</th>             </tr>         </tfoot>     </table> <script type="text/javascript" language="javascript" src="https://cdn.datatables.net/1.10.22/js/jquery.dataTables.min.js"></script> <script type="text/javascript" language="javascript" src="https://cdn.datatables.net/1.10.22/js/dataTables.bootstrap4.min.js"></script>  
    • By AlexandrePrezzi
      Seguinte
      Tenho uma página chamada  "teste.php" nessa página tem um formulário com vários campos que o usuário usa para fazer um filtro dos campos a serem pesquisado...
       
      Ao clicar no Pesquisar (submit) ... o action da página faz a seguinte ação
       
      script type="text/javascript"> $(function($){ $('#meuFormulario').submit(function(){ var dados = jQuery(this).serialize(); jQuery.ajax({ type: "POST", url: "src/controller/request_teste.php", data: dados, cache: false, beforeSend: function() { $('#resultPesq').html("Carregando..."); }, success: function(e) { //window.alert(e); $('#resultPesq').html(e); }, error: function() { $('#resultPesq').html('Não foi encontrado dados!'); } }); return false; }); }); </script> O arquivo "request_teste.php", é quem recebe os dados do POST e faz o  tratamento desses dados....
       
      Ao final desse arquivo tem um  require_once 'result_teste.php' que vem a ser o arquivo onde irá mostrar o resultado da pesquisa.
       
      Nesse arquivo eu fiz uma páginação ao final do resultado.
       
      Entao primeiramente o link que estou acessando é 
       
      principal.php?link=teste.php  (abre a pagina com o formulário)
      ao clicar em pesquisar o link nao muda
       
      quando clico em página 2, é feito um refresh e a url fica principal.php?link=teste.php&pag=2
       
      O que acontece é que como a página faz um refresh eu perco todos dados do meu POST e tambem preciso clicar no botão pesquisar pra carregar os dado da página 2.
       
      Alguem sabe como ajustar isso ?

      Se precisarem de mais informações me avisem
       
       
       
    • By New Job
      Tenho um checkout pagseguro configurado em um site e gostaria de ajustar o código. Linguagem é PHP.
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.