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

Banner aparece de acordo com a palavra buscada


Naty_Za

Pergunta

Gente, preciso de uma ajuda de vocês. Nem sei por onde começar....

é assim:

Tenho um site, de cadastros de empresas.. e tenho tb espaço para os anunciantes colocarem seus banners...

então, de acordo com a categoria da empresa, se o cara quiser coloca um banner lá no setor de sua preferencia...

até aí beleza...

mas eu queria fazer o seguinte tb...

tenho no site um sistema de busca... e eu gostaria que quando a pessoa digitasse o texto que quer buscar, de acordo com a palavra q eu especificar, aparecesse tb o banner do anunciante...

Mas não sei como fazer essa ligação... os banners são puxados do banco de dados, de acordo com a categoria q está vinculado...

Pra poder fazer essa junção com o sistema de busca, q estou meio perdida!!

Me dêem uma luz... por favor!!

Vou postar o código que insere os banners por categoria e o do busca, ok??

<?php
$consulta = mysql_query("SELECT sub.caminho, nome, link, codigo FROM banners sub inner join banners_lateral cs on cs.id_banner = sub.id where cs.id_submenu = $id_submenu") or die (mysql_error());
$conta = mysql_num_rows($consulta);
if ($conta == 0){
echo "
<center><font face=Verdana, Arial, Helvetica, sans-serif><font size=3><strong>ANUNCIE AQUI!</strong></a></strong><br></font></center>
";
}else{
while($verifica = mysql_fetch_array($consulta)){
$id = $verifica["id"];
$nome = $verifica["nome"];
$caminho = $verifica["caminho"];
$codigo = $verifica["codigo"];
$link = $verifica["link"];

echo"
$codigo
<br>
";
}
}
?>
código do busca
<? if(!empty($HTTP_POST_VARS[palavra])) { 
   $palavras = explode(' ', $HTTP_POST_VARS['palavra']); //separa as palavras e as coloca em um array

$qr = "SELECT * FROM cadastros WHERE";

//adiciona o trecho SQL para cada palavra
foreach($palavras as $palavra){
$qr .= "(titulo LIKE '%".$palavra."%' OR cidade LIKE '%".$palavra."%' OR texto LIKE '%".$palavra."%' OR uf LIKE '%".$palavra."%' OR endereco LIKE '%".$palavra."%') AND ";
}

//o "1 = 1" é necessário, para não conflitar com o último AND
$qr .= "1 = 1 ORDER BY titulo ASC";


    $sql = mysql_query($qr) or die (mysql_error()); // Executa a query no Banco de Dados 
    
$total = mysql_num_rows($sql); // Conta o total ded resultados encontrados 
    
echo "<font face=Verdana, Arial, Helvetica, sans-serif><font size=1>Sua busca retornou <b>$total</b> resultados.</font><br><br>\n"; // mostra quantos resultados retornou e logo depois exibe
    
while ($dados = mysql_fetch_array($sql)) {
$campo1 = $dados["titulo"];
$campo2 = $dados["endereco"];
$campo3 = $dados["cidade"];
$campo4 = $dados["tel"];
$campo5 = $dados["id"];
$campo6 = $dados["site"];
$campo7 = $dados["email"];
$campo8 = $dados["uf"];
$campo9 = $dados["texto"];

if ($campo6 != ""){
$varHref = "<a href=\"http://$campo6\" target=\"_blank\" ><b>$campo1</b></a>";
}else{
$varHref = $campo1;
}           

echo "
<font color=#00496e><b>".$varHref."</b></font><br>
<i>$campo9 </i><BR>
$campo2<BR>
$campo3 / $campo8 <br>
Tel: $campo4<BR>
Email: <a href=mailto:$campo7>$campo7</a><BR>
<BR>
";
} 
} 
?>

Me ajudem gente!!

Por favor!!

Valeww

Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0

Isso se resolve com uma modelagem adequada...

Primeiro você cria uma tabela em que se colocam as categorias, exemplo:

id-categorias

1-saúde;nutrição;beleza

2-veículos;auto-peças;funilaria

3-informática;hardware;software

Outra tabela para relacionar os banners as categorias

id-id_categoria-banner

Pronto... ai quando o cara digitar, por exemplo, funilaria (que vai estar na variável $palavra_digitada), você faz uma query (na verdade pode utilizar direto na sua atual query)

SELECT b.banner, c.* FROM categorias c
LEFT JOIN banners b ON b.id_categoria=c.id
WHERE c.categorias LIKE '%$palavra_digitada%'

Pronto, tá feito a ligação...

Link para o comentário
Compartilhar em outros sites

  • 0

Então... eu já tenho as tabelas criadas no banco de dados...

Tenho a das categorias, a dos banners, e a que linka o banner na categoria!

é necessário q eu crie um campo na tabela dos banners, chamado de "palavras_digitadas" por ex??

e na query que puxa os banner q eu vou colocar esse '%$palavra_digitada%' ???

no código da página do busca eu não mudo nada????

To muuito perdida!! =(

Valeewww

Link para o comentário
Compartilhar em outros sites

  • 0

Em algum lugar você vai ter que guardar as palavras chaves para relacionar com os banners, o que eu passei é só uma das possibilidades, você pode por exemplo (já que tem uma tabela só pra categorias), salvar na tabela banners os IDs das categorias, assim também segue a mesma lógica que eu passei acima...

Mas o fato principal é que terá que haver algum campo nas duas tabelas que estejam ligados...

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,2k
    • Posts
      652,1k
×
×
  • Criar Novo...