Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Hugher

como criar um sistema de busca desde o inicio

Recommended Posts

viva, eu gostaria de saber como crio um sistema de busca mas desde raiz, de uma forma simples. Isto é desde a criação das tabelas no mysql até ao codigo da propria busca. peço imensa desculpa por vos incomodar, mas é que até agora não encontrei nada que me ajudasse e necessitava dessa grande ajuda para que compreendesse.obrigadopedro

Compartilhar este post


Link para o post
Compartilhar em outros sites

para conteudos que voce já possui no banco de dados (como produtos, caralogos, animais, sei lá) é só fazer a busca na tabela e redirecionar para a página.

<form action="busca.php" method="POST"><input type="text" id="nome_animal" name="nome_animal"><input type="sumbit" value="enviar"></form>
supondo que seja animais:

 

a pessoa busca por 'marinho'

 

na busca.php:


$sql ="

SELECT

ANIMAL_ID

ANIMAL_NOME

FROM

TABELA_ANIMAIS

WHERE

ANIMAL_NOME '%".$palavra."%'

ORDER BY

ANIMAL_NOME ASC";

 

linenums:0'>$palavra=_POST['nome_animal']$sql ="SELECT ANIMAL_ID ANIMAL_NOME FROM TABELA_ANIMAISWHERE ANIMAL_NOME '%".$palavra."%'ORDER BY ANIMAL_NOME ASC";

dai voce vai ter uma tabela com o nome e o id dos animais:

 

21 cavalo marinho

33 leão marinho

etc...

 

 

dai voce pega esses dados com mysql_fetch_array(): ver http://www.php.net/manual/pt_BR/function.m...fetch-array.php

 

aqui vai um exemplo:

 


return $resultado;

 

linenums:0'>$i=0; $consulta = @mysql_query($sql);while($linhas = @mysql_fetch_array($consulta)){ $i++; $resultado[$i]=$linhas;}$resultado['total']=$i;return $resultado;

assim voce pode criar links com esses dados:

 


<a href="animais.php?id=<?PHP echo $result['ANIMAL_ID'];?>"><?PHP echo $result['ANIMAL_NOME'];?></a>

}

linenums:0'>for (i=1; i<=result['total']; i++) { <a href="animais.php?id=<?PHP echo $result['ANIMAL_ID'];?>"><?PHP echo $result['ANIMAL_NOME'];?></a>}

se voce tiver conteudo fora do BD, joga ele para dentro de BD... eu criei minha tabela assim:

TABELA CONTEUDO_FIXO

 

COF_ID

COF_NOME (para colocar nos links.. os nomes que aparecerao nas telas)

COF_LINK (para colocar no href)

COF_TEXTO (onde eu vou gravar tudo que tiver escrito na minha página para pegar na consulta co, "LIKE %palavra%"

 

 

bom, o que eu sei é isso ...

 

espero que ajude

 

 

 

 

 

 

 

arrumando erro:


<a href="animais.php?id=<?PHP echo $resultado[$i]['ANIMAL_ID'];?>"><?PHP echo $resultado[$i]['ANIMAL_NOME'];?></a>

}

_linenums:0'>for (i=1; i<=result['total']; i++) {<a href="animais.php?id=<?PHP echo $resultado<strong class='bbc'>[$i]</strong>['ANIMAL_ID'];?>"><?PHP echo $resultado<strong class='bbc'>[$i]</strong>['ANIMAL_NOME'];?></a>}

para conteudos que voce já possui no banco de dados (como produtos, caralogos, animais, sei lá) é só fazer a busca na tabela e redirecionar para a página.

<form action="busca.php" method="POST"><input type="text" id="nome_animal" name="nome_animal"><input type="sumbit" value="enviar"></form>
supondo que seja animais:

 

a pessoa busca por 'marinho'

 

na busca.php:


$sql ="

SELECT

ANIMAL_ID

ANIMAL_NOME

FROM

TABELA_ANIMAIS

WHERE

ANIMAL_NOME '%".$palavra."%'

ORDER BY

ANIMAL_NOME ASC";

 

linenums:0'>$palavra=_POST['nome_animal']$sql ="SELECT ANIMAL_ID ANIMAL_NOME FROM TABELA_ANIMAISWHERE ANIMAL_NOME '%".$palavra."%'ORDER BY ANIMAL_NOME ASC";

dai voce vai ter uma tabela com o nome e o id dos animais:

 

21 cavalo marinho

33 leão marinho

etc...

 

 

dai voce pega esses dados com mysql_fetch_array(): ver http://www.php.net/manual/pt_BR/function.m...fetch-array.php

 

aqui vai um exemplo:

 


return $resultado;

 

linenums:0'>$i=0; $consulta = @mysql_query($sql);while($linhas = @mysql_fetch_array($consulta)){ $i++; $resultado[$i]=$linhas;}$resultado['total']=$i;return $resultado;

assim voce pode criar links com esses dados:

 


<a href="animais.php?id=<?PHP echo $result['ANIMAL_ID'];?>"><?PHP echo $result['ANIMAL_NOME'];?></a>

}

linenums:0'>for (i=1; i<=result['total']; i++) { <a href="animais.php?id=<?PHP echo $result['ANIMAL_ID'];?>"><?PHP echo $result['ANIMAL_NOME'];?></a>}

se voce tiver conteudo fora do BD, joga ele para dentro de BD... eu criei minha tabela assim:

TABELA CONTEUDO_FIXO

 

COF_ID

COF_NOME (para colocar nos links.. os nomes que aparecerao nas telas)

COF_LINK (para colocar no href)

COF_TEXTO (onde eu vou gravar tudo que tiver escrito na minha página para pegar na consulta co, "LIKE %palavra%"

 

 

bom, o que eu sei é isso ...

 

espero que ajude

 

 

 

 

 

 

 

arrumando erro:


<a href="animais.php?id=<?PHP echo $resultado[$i]['ANIMAL_ID'];?>"><?PHP echo $resultado[$i]['ANIMAL_NOME'];?></a>

}

_linenums:0'>for (i=1; i<=result['total']; i++) {<a href="animais.php?id=<?PHP echo $resultado<strong class='bbc'>[$i]</strong>['ANIMAL_ID'];?>"><?PHP echo $resultado<strong class='bbc'>[$i]</strong>['ANIMAL_NOME'];?></a>}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Excelente isto, mas alguem me poderia ajudar em como fazer para o sistema de busca procurar em mais do que uma tabela?Sei que tenho de fazer um select para cada tabela, o meu problema esta na listagem dos resultados. Como poderia fazer?Obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.