Ir para conteúdo
Fórum Script Brasil
  • 0

[Help] Busca - Ecommerce


gabrielaokubara

Pergunta

A pagina Home tem uma barra de busca (<form method="get" action="busca.php">) para pesquisar produtos. Mas o script "busca.php", não chega nem a rodar.

Trecho PHP:

<?php
                    //conexao com o banco
                    include "conexao.php";
                    $conecta = conectar();


                    if (!$conecta) //senao conectou
                    {
                        echo "<p class='erro_conexao'>N&atilde;o foi poss&iacute;vel conectar com o banco de dados</p>";
                    }
                    
                    else
                    {
                            $busca = strtolower($_GET['busca']);
                            
                            //Se a busca estiver vazia, redireciona aos produtos
                            if (empty($busca)) {
                                header("Location: produtos.php"); //echo "<script>location.href='menu.php';</script>";
                                exit;
                            }
                            
                            $sql_contagem = "SELECT * FROM produto WHERE exclusao = 0 AND lower(nome) LIKE '%" . $busca . "%' ORDER BY nome";
                            
                            $resultado_contagem = pg_query($conecta, $sql_contagem);

                            $qtd_registros = pg_num_rows($resultado_contagem);
                            
                            //PAGINACAO
                            
                            //definindo o numero da pagina atual
                            $num_pagina = (isset($_GET['num_pagina']))? ($_GET['num_pagina']) : 1;
                            //limite da quantidade de produtos por paginas
                            $limite = 9;
                            //total de paginas
                            $tot_paginas = ceil($qtd_registros/$limite);
                            //primeiro produto
                            $inicio = ($num_pagina * $limite) - $limite;
                            $sql = "SELECT * FROM produto WHERE exclusao = 0 AND lower(nome) LIKE '%" . $busca . "%' ORDER BY nome ORDER BY nome LIMIT $limite OFFSET $inicio";

                            $resultado = pg_query($conecta, $sql);
                            $qtde=pg_num_rows($resultado);


                            echo "<h2>Busca por " . $busca . "</h2>";
                            if($qtde>0) {
                                for ($i=0; $i<$qtde; $i++)
                                {                            
                                    $linha = pg_fetch_row($resultado);
                                    
                                    //div para produto
                                    echo "<a href='ver_produto.php?id_produto=".$linha['id_produto']."'>";
                                        echo "<div id='produto'>";
                                            //imagem
                                            echo "<div id='produto_imagem'>";
                                                echo "<img src='./imagens/bottons/".$linha['endereco']."' width='200'>";
                                            echo "</div>";
                                                //nome
                                            echo "<div id='nome'>";
                                                echo $linha['nome'];
                                            echo "</div>";
                                                //estoque
                                            echo "<div id='nome'>";
                                                echo "<p class='estoque'>Estoque: ".$linha['estoque']."</p>";
                                            echo "</div>";
                                                //preço
                                            echo "<div id='nome'>";
                                                echo $linha['preço'];
                                            echo "</div>";
                                        echo "</div>";
                                    echo "</a>";
                                }
                            } else
                                echo "<p class='sem_produtos'>Nenhum produto foi encontrado</p>";

                            echo "<br><br>";
                            //Numeros das paginas
                                echo "<div id='paginacao_baixo'>";
                                
                                    echo "<p class='paginacao'>Páginas: </p>";
                                    
                                    echo "<p class='paginacao'>";
                                    for ($i=1; $i<=$tot_paginas; $i++)
                                    {
                                        /*echo "<a href='busca.php?num_pagina=".$i."'>";
                                            echo $i." ";
                                        echo "</a>"; */
                                        echo "<a href='busca.php?busca=$busca?num_pagina=$i'>".$i."</a>";
                                    }
                                    echo "</p>";
                                    echo "</div>";                
                ?>

 

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

Faltou o fechamento o else do if (!$conecta) no final do script, mas eu usaria um exit dentro do if para não ter que usar o else, desse jeito:

<?php
//conexao com o banco
include "conexao.php";
$conecta = conectar();

if (!$conecta) {
	echo "<p class='erro_conexao'>N&atilde;o foi poss&iacute;vel conectar com o banco de dados</p>";
	exit;
}
// O resto pode continuar do jeito que estava

 

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...