Sistema de busca
E ae pessoal, to desenvolvendo aos poucos meu site www.worldn.com.br e adicionei um sisteminha de busca. Ele funciona, desde que a pessoa digite apenas uma palavra eheheh. Se o visitante digitar uma frase, ele considera a primeira palvra apenas.
Entao queria uma ajuda pra melhorar a busca pelo banco de dados. O funcionamento é assim: ao digitar a frase de busca e clicar Ok, é executado essa página abaixo. O sistema grava no banco o que os usuarios estão tentando achar no site. O erro até sei +-, ele não passa o que está após o espaço (tipo "Super Nintendo" só passa pra busca "Super").
$pesquisa = addslashes($pesquisa1);
if ($pesquisa==NULL){
echo "<head>
<body><br><br><br><br><br><br><br><br><br><br>
<p align=center><b>Você não digitou nenhum termo para efetuar a pesquisa. Por favor, digite uma palavra.</b>
<br><br><a href='java script linenums:0'><?$pesquisa1 = $_POST['pesquisa'];$pesquisa = addslashes($pesquisa1);if ($pesquisa==NULL){echo "<head><body><br><br><br><br><br><br><br><br><br><br><p align=center><b>Você não digitou nenhum termo para efetuar a pesquisa. Por favor, digite uma palavra.</b><br><br><a href='java script:history.go(-1)'>Clique aqui para voltar ou aguarde alguns segundos.</a></p>";}else{include "configpesquisa.php"; // arquivo de configuracao$db = mysql_connect($host, $login_db, $senha_db);$basededados = mysql_select_db($database);$sql = mysql_query("SELECT * FROM $tabela WHERE termo='$pesquisa'", $db)or die("Erro: " . mysql_error());$contagem = mysql_num_rows($sql); if ($contagem == 1) { $linha = mysql_fetch_array($sql); $termo = $linha["TERMO"]; $cont = $linha["CONT"]; $newcont = $cont + 1; $sql = "UPDATE $tabela SET CONT='$newcont' WHERE TERMO='$termo'"; $resultado = mysql_query($sql) or die ("Não foi possivel fazer a consulta ao banco de dados."); }else{ $cont = 1; $sql = "INSERT INTO $tabela (TERMO, CONT) VALUES ('$pesquisa', '$cont')"; $resultado = mysql_query($sql) or die ("Não foi possivel fazer a consulta ao banco de dados."); }echo "<title>Pesquisando $pesquisa World N</title><meta http-equiv=refresh content=0;URL='pesquisa.php?p=$pesquisa'>";} //fim de if de verificação de texto?>
Depois de ele fazer a verificação, ele executa a busca:
include "configjogo.php"; // arquivo de configuracao
$db = mysql_connect($host, $login_db, $senha_db);
$basededados = mysql_select_db($database);
$sql = "SELECT * FROM $tabela WHERE `TITULO` LIKE '%$pesquisa%' ORDER BY `COD` DESC";
$resultado = mysql_query($sql) or die ("Não foi possivel realizar a consulta ao DB");
while ($linha = mysql_fetch_array($resultado)){
$cod = $linha["COD"];
$titulo = $linha["TITULO"];
$console = $linha["CONSOLE"];
echo "<b><a href='jogo.php?id=$cod'>";
if ($console== "wii"){
echo "Nintendo Wii linenums:0'><?$pesquisa = $_GET['p'];include "configjogo.php"; // arquivo de configuracao$db = mysql_connect($host, $login_db, $senha_db);$basededados = mysql_select_db($database);$sql = "SELECT * FROM $tabela WHERE `TITULO` LIKE '%$pesquisa%' ORDER BY `COD` DESC";$resultado = mysql_query($sql) or die ("Não foi possivel realizar a consulta ao DB");while ($linha = mysql_fetch_array($resultado)){ $cod = $linha["COD"]; $titulo = $linha["TITULO"]; $console = $linha["CONSOLE"];echo "<b><a href='jogo.php?id=$cod'>"; if ($console== "wii"){ echo "Nintendo Wii: "; }else if($console== "nds"){ echo "Nintendo DS: "; }else if($console== "gba"){ echo "Game Boy Advance: "; }else if($console== "ngc"){ echo "GameCube: "; }else if($console== "out"){ echo "Outros: "; }else if($console== "n64"){ echo "Nintendo 64: "; }else if($console== "sne"){ echo "Super Nintendo: "; }else if($console== "gbc"){ echo "Game Boy Color: "; }else if($console== "nes"){ echo "Nintendo 8 bits:"; } echo "</b> $titulo</a><br>";?>
Então pessoal é mais ou menos assim, quem pode me ajudar a melhorar a busca, da um alou. Queria que ele tb funciona-se para multiplas palavras porque da maneira q esta só funciona com senteça inteira
Discussão (1)
Carregando comentários...