Jump to content


Photo

Dúvida Em Consulta!


  • Faça o login para participar
4 replies to this topic

#1 claytonprog

claytonprog

    Turista

  • Usuários
  • 52 posts
  • Sexo:Não informado

Posted 07/10/2012, 09:11

Pessoal estou com um pequeno problema!


Tenho uma tabela chamada ESTABELCIMENTOS com os seguintes campos:


id-INT
nome- VARCHAR
categoria- VARCHAR
subcategoria- VARCHAR
item - VARCHAR
sub_item - VARCHAR
chaves - VARCHAR


===================================

exemplo dos dados:

NOME - CATEGORIA - SUBCATEGORIA - ITEM - SUB_ITEM - CHAVES

RIACHUELO COMÉRCIO - LOJA - ROUPA - MASCULINO - ROUPAS, MASCULINO, HOMEM, MODA


TENHO UM FORMULÁRIO COM UM CAMPO CHAMDO BUSCA.

O USUÁRIO VAI DIGITAR UMA PALAVRA E AO CLICAR NO BOTÃO PROCURAR. DEVERÁ SER FEITA UMA BUSCA NA TABELA ESTABELECIMENTOS
NOS CAMPOS RELACIONADOS ACIMA. SE O TERMO DIGITADO FOR ACHADO EM ALGUM DOS DESSES CAMPOS DA TABELA DEVERÁ SER RETORNADO
O RESULTADO DO ESTABELECIMENTO.

OBS: O CAMPO CHAVES - SÃO PALAVRAS CHAVES SEPARADOS POR VÍRGULA.


Alguém sabe montar essa consulta???

#2 MCAsite

MCAsite

    Turista

  • Usuários
  • 29 posts
  • Sexo:Masculino
  • Localidade:Mogi das Cruzes

Posted 07/10/2012, 18:06

Tenta assim:

$sql = "SELECT * FROM estabelecimentos WHERE nome LIKE '".$filtrar."%' OR categoria LIKE '".$filtrar."%' OR subcategoria LIKE '".$filtrar."%' OR item LIKE '".$filtrar."%'OR subitem LIKE '".$filtrar."%' OR chaves LIKE '".$filtrar."%'";


#3 claytonprog

claytonprog

    Turista

  • Usuários
  • 52 posts
  • Sexo:Não informado

Posted 08/10/2012, 09:54

Valew! Funcionou!!!

#4 claytonprog

claytonprog

    Turista

  • Usuários
  • 52 posts
  • Sexo:Não informado

Posted 13/10/2012, 14:53

Valew! Funcionou!!!



Novo Problema!

Pessoal estou com problema de acentuação na busca.

segue abaixo o meu código.


 <?php 
                        
                        require_once("connections/conexao.php"); 
                                   
                        $filtrar = $_POST["busca"];
											
                       	$hoje = date("Y-m-d");
													
							
							
						
					$query  = "SELECT * FROM estabelecimentos WHERE nome LIKE '%".$filtrar."%' OR categoria LIKE '%".$filtrar."%' OR subcategoria LIKE '%".$filtrar."%' OR item LIKE '%".$filtrar."%' OR sub_item LIKE '%".$filtrar."%' OR chaves LIKE '%".$filtrar."%' and status='ativo' and dt_insc_fin >= '".$hoje."' AND dt_insc_fin != '0000-00-00'";
						
						
																			
													
                        $result = mysql_query($query) or die("Error: " . mysql_error());
						
					                        
						if (@mysql_num_rows($result) == 0  ) {
					
						echo "<br>";
						echo "<font size=2 color=#000066 face=Verdana>";								
						echo("Não existem registro para esta busca!") ."<p>";
						echo "</font>";
						echo "<font size=2 color=#000066 face=Verdana>";
			
							
						} else {
                        
                        
                        while ($row = mysql_fetch_assoc($result))
                                    
                                {
                                
                                $id = $row['id'];							
								$id_plano = $row['idplano'];	
								$nome = $row['nome'];	
								$foto = $row['banner'];	
								
								$largura = $row['largura'];
							    $altura = $row['altura'];	
                                    
                        ?>
                        
                        
                       	<h1><?php echo $row['nome']; ?></h1>
                    		
                      <a href="estabelecimento.php?id=<? echo $id;?>" class="menuheader"><img src="painel/<?php echo $row['banner']; ?>" width=<? echo $largura ?> height=<? echo $altura ?> border="0" alt="<?php echo $row['nome']; ?>" />  
                      </a>
					
                    
                  <?php 
					}
					}
					
				  ?>



No banco no campo chaves está cadastrada a palavra chave: paletó

Se eu digitar a palavra "paletó" no campo do formualario ele não me traz nada, agora de se eu tirar o acento da palavra no banco de dados e fazer a
pesquisa ele traz o resultado normal ou seja toda a palavra chave cadastrada com acento a consulta não funciona.


Alguém pode me ajudar!

#5 Renan Fernandes

Renan Fernandes

    12 Horas

  • Usuários
  • 179 posts
  • Sexo:Masculino
  • Localidade:Rio de Janeiro
  • Interesses:Tudo relacionado a webmaster, webdesign e programação.

Posted 17/10/2012, 12:45

Pode ser problema de codificação, tenta dar uma olhada na codificação da sua página. Você também pode converter a string pra utf8 na hora que for definir a variável. Algo como:

$filtrar = utf8_encode($_POST["busca"]);
E caso não funcione tente utf8_decode .

Não existe vento favorável quando não se sabe onde quer chegar.


Dicas Digitais




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq