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 Anderson Maciel
      Boa tarde pessoal,

      Estou quebrando a cabeça para resolver um problema, tenho uma div dinâmica que carrega uma <table> em uma das colunas deveria apresentar o componente Switchery, esta <table> é montada a partir de uma função PHP que faz o select em uma tabela do banco de dados conforme abaixo:
       
      echo '<table class="table table-hover"> <thead> <tr> <th>Nome</th> <th>Agrupamento</th> <th>Ativo</th> </tr> </thead> <tbody>'; foreach($data as $row) { If ($row['ativo'] == 1) {$vativochk = "checked";} else {$vativochk = "";} echo '<tr> <td>'.$row['nome'].'</td> <td>'.$row['agrupamento'].'</td> <td><input type="checkbox" name="ativo_grid" class="js-switch" '.$vativochk.' disabled="disabled"></td> </tr>'; } echo ' </tbody> </table>'; Aqui está o Ajax que chama e retorna atualizando a DIV:
      //funcoes do grid dos graficos function atualiza_grid_graficos() { $.ajax({ type: "POST", url: "hubfuncind.php", data: { id_tabindicadores_paineis: $('#id_tabindicadores_paineis').val(), acao: "gridgraficos" }, success: function(data) { $('#conteudo').html(data); } }); } O retorno vem certinho, mas apenas o componente Switchery está vindo desconfigurado, ou seja vem um checkbox normal (html).

      O que é mais incrível é que neste mesmo formulário mais acima tenho este mesmo componente funcionando normalmente, somente dentro da DIV dinâmica é que fica desconfigurado conforme imagem anexa.

      Será que alguém já passou por isso?

    • By violin101
      Caros amigos membros do grupo, saudações...
       
      Gostaria de tirar uma dúvida com os amigos.
       
      Tenho uma rotina onde consigo efetuar o Download de arquivos para uma pasta dentro do sistema, o que preciso seria mudar o nome do arquivo, por exemplo:
       
      após selecionar  o arquivo criado com o nome de: ESTOQUE.PDF
       
      gostaria de gravar na pasta de upload's com um novo nome, como por exemplo: cliente[1]-estoque.pdf.
       
      Onde poderia fazer essa alteração na rotina abaixo, para gravar o arquivo com um novo nome ?
       
      abaixo posto o fonte da rotina.
      <?php public function anexar() { $this->load->library('upload'); $this->load->library('image_lib'); $upload_conf = array( 'upload_path' => realpath('./assets/anexos'), 'allowed_types' => 'pdf|PDF|doc|DOC|docx|DOCX', // formatos permitidos para anexos de os 'max_size' => 1024, ); //Recebe a variável via POST $validade = $this->input->post('validade'); $this->upload->initialize($upload_conf); foreach ($_FILES['userfile'] as $key => $val) { $i = 1; foreach ($val as $v) { $field_name = "file_".$i; $_FILES[$field_name][$key] = $v; $i++; } } unset($_FILES['userfile']); $error = array(); $success = array(); foreach ($_FILES as $field_name => $file) { if (! $this->upload->do_upload($field_name)) { $error['upload'][] = $this->upload->display_errors(); } else { $upload_data = $this->upload->data(); if ($upload_data['is_image'] == 1) { // set the resize config $resize_conf = array( 'source_image' => $upload_data['full_path'], 'new_image' => $upload_data['file_path'].'thumbs/thumb_'.$upload_data['file_name'], 'width' => 200, 'height' => 125 ); $this->image_lib->initialize($resize_conf); if (! $this->image_lib->resize()) { $error['resize'][] = $this->image_lib->display_errors(); } else { $success[] = $upload_data; $this->load->model('Dados/Dadosclie_model'); $this->Dadosclie_model->anexar($this->input->post('idCli'), $this->input->post('descricao'), $validade, $upload_data['file_name'], base_url().'assets/anexos/', 'thumb_'.$upload_data['file_name'], realpath('./assets/anexos/')); } } else { $success[] = $upload_data; $this->load->model('Dados/Dadosclie_model'); $this->Dadosclie_model->anexar($this->input->post('idCli'), $this->input->post('descricao'), $validade, $upload_data['file_name'], base_url().'assets/anexos/', '', realpath('./assets/anexos/')); } } } if (count($error) > 0) { echo json_encode(array('result'=> false, 'mensagem' => 'Nenhum arquivo foi anexado.')); } else { echo json_encode(array('result'=> true, 'mensagem' => 'Arquivo(s) anexado(s) com sucesso .')); } } ?>  
      Grato,
       
      Cesar
    • By ViniciusRamoa
      Oi! Quando eu comecei a estudar php e logica de programação, é que uma das primeiras coisas que precisamos ter é uma noção exata do que queremos fazer, entao, o que eu estou querendo fazer, eu diria que é bem ousado para um iniciante, mas eu estou estudando e meu único foco é criar um de conteudos simples para meu site, será apenas para uso pessoal, nal tenho interesse em vender, mas iria disponibilizar para download , caso alguém queira, ele irá apenas postar conteúdos, apagar, editar e somente isso, não editará banner, ou layout ou qualquer outra coisa. Quero criar um sistema de loguin e dar permissão para apenas quem tiver o "rank 2" será considerado um adm e poderá postar.
      Nesse campo de postagem, terá apenas os campos de:
      Titulo
      Imagem (thumbnail)
      Link da página  (pois será um post clicavel, como um cardbox que ira redirecionar o visitante para a página destinada apenas àquele  conteudo) 
      Descrição 
      Apenas  isso
      Então, eu estou estudando PHP, no início ainda, mas é possivel eu criar tal ferramente em quanto tempo em média com a experiência que vocês ja possuem? 
      E outra, qual caminho devo seguir? Quero apenas criar o gerenciador de conteudo e sistema de loguin, tem algum "caminho" que eu deva seguir? Tenho que focar mais em x area para atingir o que eu quero e nao focar em y area, pois será perda de tempo? Como eu disse, quero apenas criar isso, e futuramente me aprofundar mais
      Então, possui alguma dica, orientação, link ou qualquer coisa que possa me ajudar a pelo menos ver qual caminho seguir, levando em conta que estou estudando por conta propria e nao tenho quem me orientar? Obrigado 
    • By Anderson Maciel
      Boa tarde pessoal,

      Estou quebrando a cabeça para resolver um problema, tenho uma div dinâmica que carrega uma <table> em uma das colunas deveria apresentar o componente Switchery, esta <table> é montada a partir de uma função PHP que faz o select em uma tabela do banco de dados conforme abaixo:
       
      echo '<table class="table table-hover"> <thead> <tr> <th>Nome</th> <th>Agrupamento</th> <th>Ativo</th> </tr> </thead> <tbody>'; foreach($data as $row) { If ($row['ativo'] == 1) { $vativochk = "checked"; } else { $vativochk = ""; } echo '<tr> <td>'.$row['nome'].'</td> <td>'.$row['agrupamento'].'</td> <td><input type="checkbox" name="ativo_grid" class="js-switch" '.$vativochk.' disabled="disabled"></td> </tr>'; } echo '</tbody> </table>'; Aqui está o Ajax que chama e retorna atualizando a DIV:
       
      function atualiza_grid_graficos() { $.ajax({ type: "POST", url: "hubfuncind.php", data: { id_tabindicadores_paineis: $('#id_tabindicadores_paineis').val(), acao: "gridgraficos" }, success: function(data) { $('#conteudo').html(data); } }); } O retorno vem certinho, mas apenas o componente Switchery está vindo desconfigurado, ou seja vem um checkbox normal (html).

      O que é mais incrível é que neste mesmo formulário mais acima tenho este mesmo componente funcionando normalmente, somente dentro da DIV dinâmica é que fica desconfigurado conforme imagem anexa.

      Será que alguém já passou por isso?

    • 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";
         }
×

Important Information

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