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 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!
    • By lordstarlight
      Olá pessoal,
       
      Tenho uma base de dados onde há um campo decimal que guarda um valor tipo (10.20).
      Quanto tento retornar o valor multiplicado por quantidade (10.2 * 2) retorna apenas 20,00
       
      $subTotal = $qtdeItem * $precoProduto;
      echo  'R$ '.number_format($subTotal,2,",",".");?><br>
       
      Como faço para retornar 20,40 ?
    • By groudon900
      Estou cursando aula pra aprender php e eu estava montando uma pagina de login, está tudo certo, mas não consegue conectar de jeito nenhum vou mandar o código pra vocês darem uma olhada
      banco de dados "aula"
      tabela "usuarios"
       
      contem, usuarios, senha, email e ID
       
       
      <?php require_once"config.php" ?> <?php if ( isset($_POST["usuario"])) { $usuario = $_POST["usuario"]; $senha = $_POST["senha"]; $login = "SELECT * "; $login .= "FROM usuarios "; $login .= "WHERE usuario = '{$usuario}' and senha = '{$senha}' "; $acesso = mysqli_query($conecta, $login); if ( !$acesso) { die("Falha na consulta ao banco!"); } $informacao = mysqli_fetch_assoc($acesso); if ( empty($infomacao)) { $mensagem = "login sem sucesso"; } else { header("location:listagem.php"); } } ?>  
×

Important Information

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