Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Boa tarde!
Tenho um problema que para mim parece ENORME, devido a não encontrar em pesquisa do google e em 4 forúns oque realmente quero fazer.
Eu só quero que na consulta a pessoa digite o nome da empresa ou o ramo de atividade da empresa ou a palavra chave que foi cadastrada no banco de dados referente a empresa
(até ai td bem) ! Mas quero que esses resultados apareça pela cidade selecionada no select do formulário! na ultima pesquisa o código ficou assim:
echo "<form action= buscar.php method = POST >";
echo "<input id= Busca name= Pesq type= text class= g placeholder ='Empresa, Ramo de Atividade,Serviço ou Negócio'>";
echo "<select name= Cidade>";
echo "<option value= Sobral> Sobral </option>";
echo "<option value= Camacam> Camacam</option>";
echo "<option value= Balsas >Balsas </option>";
echo "<option value=Teresina >Teresina</option>";
echo "</select>";
echo "<input type= submit value= Pesquisar >";
echo"</form>";
?>
<?php
$host = "localhost";
$usuario = "root";
$senha = "";
$bd = "bd_grtx";
$con = mysqli_connect($host , $usuario, $senha , $bd);
$Pesq = $_POST['Pesq'];
$Cidade = $_POST ['Cidade'];
$sql = mysqli_query($con,"SELECT NomeEmpresa, Ender, Tel, Tel2, Tel3, Cid FROM empresas_grtx WHERE ((NomeEmpresa Like '%".$Pesq."%') OR ( TextAre LIKE '%".$Pesq."%' OR RAtiv LIKE '%".$Pesq."%')) AND ( Cid = '%".$Cidade."%')");
$row = mysqli_num_rows($sql);
if ($row > 0) {
while ($linha = mysqli_fetch_array($sql)) {
$NomeEmpresa = $linha ['NomeEmpresa'];
$Ender = $linha ['Ender'];
$Tel = $linha ['Tel'];
$Tel2 = $linha ['Tel2'];
$Tel3 = $linha ['Tel3'];
$Cid = $linha ['Cid'];
echo "<br/>";
echo "<strong><tr><td></td></tr></strong>".@$NomeEmpresa;
echo "<br/>";
echo "<strong></strong>".@$Ender;
echo "<br/>";
echo "<strong></strong>".@$Tel;echo" ";
echo "<strong></strong>".@$Tel2;echo" ";
echo "<strong></strong>".@$Tel3;echo" ";
echo "<br/>";
echo "<strong></strong>".@$RAtiv;
echo "<br/>";
echo "<strong></strong>".@$Cid;
echo "<br/></br>";
}
}
else{
echo"Desculpe , pesquisa não encontrada";
}
?>
OBSERVAÇÂO: Depois que eu acrescentei o " AND ( Cid = '%".$Cidade."%')" ! A consulta parou de funcionar
Desde já agradeço@ESerra se eu retirar do código o "AND ( Cid = '%".$Cidade."%')" ele consulta normalmente, mas sem separar por cidade!
com o "AND ( Cid = '%".$Cidade."%')" a consulta não prossegue, mas não apresenta nenhum erro, só retorna a mensagem do
else{
echo"Desculpe , pesquisa não encontrada";
}Porque motivo o seu script retornaria um erro se em nenhum lugar você pede para ele fazer isto? Um erro de sintaxe na query só será exibido se você pedir para isto (link no outro post), caso contrário não será encontrado nenhuma linha e ponto final.
Como é meio normal o pessoal cair de pára-quedas aqui no fórum, vamos tentar avançar:
( Cid = '%".$Cidade."%')
Isso não faz sentido, ai você tem que escolher:
( Cid = '$Cidade')
Ou
( Cid LIKE '%".$Cidade."%')
Caso isso não funcione, use o debug que passei antes e também verifique se o conteúdo da variável cidade é o esperado.
@ESerra foi de grande valor a sua resposta pois eu não me atentei para a msg de erro que não mostra!
O
(Cid Like '%".$Cidade."%')
Agora aproveitando ainda esse post, esta funcionando a consulta da forma desejada, porem eu notei que se eu colocar um option com o nome selecione cidades , oq devo setar nele para que aparece a consulta de todos os cliente de todas as cidades, caso o usuário não selecione nenhuma!?
Percebi tb que se eu acentuar no meu banco de dados , ele não faz a busca.
>
Citar
https://www.linhadecomando.com/php/php-trabalhando-o-resultado-obtido-de-uma-consulta-sql-checkbox
Dá uma lida nesse artigo.
Valeu @Fernaandoreis, ajudou muito a clarear o raciocínio das variaveis e códigos de erro
O primeiro ponto é verificar se o erro é sintaxe:
http://php.net/manual/pt_BR/mysqli.error.php
A partir dai a gente prossegue.