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 egalauber
      Preciso descobrir qual é o nome do arquivo com a extensão.
      Só sei o início do nome:
       
      pasta "anexos".
      nome_do_arquivo_DAQUI_PRA_FRENTE_NAO_SEI_O_RESTO_DO_NOME_NEM_A_EXTENSAO
       
      Com a função glob eu consigo achar o arquivo, mas o nome completo ainda não.
       
       
      $verifica = glob("anexos/nome_do_arquivo_*");
      if($verifica == true){
         // achei o arquivo e agora preciso pegar o nome completo e a extensão
      } else {
            echo "Arquivo não encontrado";
         }
    • By kelvinferraz
      Bom dia Pessoal,
       
      Estou com um problema que talvez muitos já devem ter passado, eu criei um FormRequest de um cadastro que fiz para validar os campos de anexo que vai para o BD. Incluindo a seguinte regra do name anexo_rg
        return [ 
                 'anexo_rg'           => 'mimes:jpeg,png,jpg,pdf|max:2048', 
              ];
       
      O campo não é required, porém ele fica pedindo para inserir um arquivo do tipo que foi criado na regra, ou seja, ele esta forçando um required no anexo, como consigo ignorar quando não possuir anexo?

      OBs: Eu criei um campo hidden para enviar um texto "NÃO POSSUI ANEXO". Antes de eu criar esse FormRequest ele conseguia deixar o anexo vazio, porém não tinha regras e a pessoa conseguia anexar qualquer tipo de arquivo.
       
    • By Vibraphera
      Oi gente eu recentemente comecei a aprender php e fui atras de desafios legais e me deparei com um que até hoje não consigo resolver.
      Preciso mostrar a maior e a menor palavra de uma frase ou texto. Eu tentei transformar em um array mas não sei se seria o adequado.
      Resumindo apenas me retorna corretamente a maior palavra mas a menor não me retorna nada. ALGUÉM ME DA UM HELP kk
      OBS: quando não tem ponto final parece que não retorna nada e quando tem ponto final ele retorna o 'ou' da frase mas não deveria retornar a letra 'é' ou a letra 'a'?
       
      <?php
      $texto = 'Como faço para saber qual é a menor e a maior de uma frase ou grandes textos';
      $arr = explode(" ", $texto);
      $maior="";
      $menor="";
      for ($i=0; $i <count($arr) ; $i++) { 
          $atual = $arr[$i];
          if (strlen($atual) > strlen($maior)) {
              $maior = $atual;
          } else if (strlen($atual) < strlen($maior)) {
              $menor = $atual;
          }
      }
      echo "<br>";
      echo $maior;
      echo "<br>";
      echo $menor;
    • By danteblatt
      Olá Srs,
      Não tenho muito conhecimento em PHP e estou com um formulário onde o usuário tem alguns campos para preencher e gravar no banco de dados SQL, sendo que um campo deste form será dinâmico onde o usuário poderá adicionar quantos campos forem necessários a partir de um botão "+".
      Nome do campo dinâmico: chavenf
      Segue abaixo o código do formulário:
      <form method="POST" action="../includes/mf-processa.php"> <div class="form-group"> <div class="form-row"> <div class="form-group col-md-4"> <input type="hidden" name="usuario[]" value="<?php echo $_SESSION['usuarioNome']; ?>" /> <select class="form-control" id="tipo" name="tipo[]"> <option selected>Tipo</option> <option>1</option> <option>2</option> </select> </div> <div class="form-group col-md-4"> <select class="form-control" id="prioridade" name="prioridade[]"> <option selected>Prioridade</option> <option>Alta</option> <option>Padrão</option> </select> </div> <div class="form-group col-md-4"> <input class="form-control" type="text" name="fornecedor[]" placeholder="Fornecedor" id="fornecedor"> </div> </div> <div style="display:none;" class="form-row" id="chavecte"> <div class="form-group col-md-12"> <label>Chave </label> <input class="form-control" type="text" name="chavecte[]"> </div> </div> <div class="form-row" id="row-nota"> <div class="form-group col-md-12"> <label>Chave da NF </label> <input class="form-control" type="text" name="chavenf[]" id="chavenf"> </div> </div> <div style="display:none;" class="form-row" id="add-field-nf"> <div class="form-group col-md-2"> <button type="button" class="btn btn-primary" id="add"> + </button> </div> </div> <div class="form-row"> <div class="form-group col-md-2"> <input type="submit" class="btn btn-primary" value="Cadastrar"> </div> </div> </div> </form> <script> $( "#add" ).click(function() { $( "#row-nota" ).append('<div class="form-group col-md-12"><input class="form-control" type="text" name="chavenf[]" id="chavenf"></div>'); }); </script> Abaixo o arquivo que conecta e insere no BD, "mf-processa.php"
      <?php session_start(); include_once("conexao.php"); $prioridade = filter_input(INPUT_POST, 'prioridade', FILTER_SANITIZE_STRING); $usuarioentrada = filter_input(INPUT_POST, 'usuario', FILTER_SANITIZE_STRING); $tipofrete = filter_input(INPUT_POST, 'tipofrete', FILTER_SANITIZE_STRING); $fornecedor = filter_input(INPUT_POST, 'fornecedor', FILTER_SANITIZE_STRING); $chavenf = preg_replace("/\s+/", "", filter_input(INPUT_POST, 'chavenf', FILTER_SANITIZE_STRING)); $chavecte = preg_replace("/\s+/", "", filter_input(INPUT_POST, 'chavecte', FILTER_SANITIZE_STRING)); $nNF = substr($chavenf, 25, 9); $timenow = date('d-m-Y'); $timenow .= ' '.date('H:i:s'); $qtnotas = count($chavenf)-1; for ($f = 0; $f <= $qtnotas; $f++) { $sql = "INSERT INTO base (data, usuarioentrada, prioridade, tipofrete, nf, fornecedor, chavenf, chavecte, acao, dataretorno, usuariofiscal) VALUES ( '.$timenow[$f].', '.$usuarioentrada[$f].', '.$prioridade[$f].', '.$tipofrete[$f].', '.$nNF[$f].', '.$fornecedor[$f].', '.$chavenf[$f].', '.$chavecte[$f].', '', '', '' )" or die ("<center>Erro: " . mysqli_error() . "</center>"); $insert = mysqli_query($conn, $sql); if(mysqli_insert_id($conn)){ $_SESSION['msgrec'] = "<p style='color:green;'>Nota cadastrada com sucesso!</p>"; header("Location: ../recebimento/recebimento.php"); }else{ $_SESSION['msgrec'] = "<p style='color:red;'>Nota não cadastrada com sucesso!</p>"; header("Location: ../recebimento/recebimento.php"); }  
       
      Veja o erro retornado na página.. Já tentei alterar o código e mesmo assim não consegui efetuar a inserção dos dados no BD.
       
      ( ! ) Warning: count(): Parameter must be an array or an object that implements Countable in D:\Wamp\www\RecebimentoAdm\includes\mf-processarecebimento.php on line 31 Call Stack # Time Memory Function Location 1 0.0001 411528 {main}( ) ...\mf-processarecebimento.php:0  
      ( ! ) Notice: Uninitialized string offset: 0 in D:\Wamp\www\RecebimentoAdm\includes\mf-processarecebimento.php on line 41 Call Stack # Time Memory Function Location 1 0.0001 411528 {main}( ) ...\mf-processarecebimento.php:0  
      ( ! ) Notice: Uninitialized string offset: 0 in D:\Wamp\www\RecebimentoAdm\includes\mf-processarecebimento.php on line 42 Call Stack # Time Memory Function Location 1 0.0001 411528 {main}( ) ...\mf-processarecebimento.php:0
    • By lordstarlight
      Olá, 
       
      Como posso bloquear todos ips, menos o meu para acesso ao meu site?
      preciso fazer isto para poder fazer manutenção.
       
      obrigado!
×

Important Information

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