Estou criando um site php junto com banco de dados, e estou querendo saber como mesclar a busca por palavras junto com o busca por filtro/categoria. Meu site irá ser o seguinte, o usuario digita algum termo no campo de busca e clica em alguma opção do filtro, que esta dividido por cidades. Ex: digito "Construtor" e seleciono o filtro "cidade A", como eu junto essas duas variaveis e exibo somente os resultados que tenha a palavra "construtor" na "cidade a"? Segue meu código até o momento.
<?php
include_once("conexao.php");
$filtro = isset($_GET['filtro'])?$_GET['filtro']:"";/* chave de busca */
$sql="select * from empresas where servicos like '%$filtro%' union select * from empresas where cidade like '%$filtro%' union select * from empresas where nome like '%$filtro%' union select * from empresas where igreja like '%$filtro%'";/* comando em mysql */
$consulta = mysqli_query($conexao, $sql);
$registros = mysqli_num_rows($consulta);/*mostra quantas linhas existem no BD*/?><!DOCTYPE html><htmllang="pt-br"><head><metacharset="utf-8"><title>Sistema de Cadastro</title><linkrel="stylesheet"href="_css/estilo.css"></head><body><divclass="menutop"><imgsrc="imagens/dafe.png"height="50px"width="240px"align="left"style="position: absolute; margin-left:80px;"/><divclass="separar"></div><formmethod="get"action=""><divclass="buscador"><inputtype="text"placeholder="Faça uma busca"name="filtro"class="busca"><inputtype="image"class="buscaimg"style="width:21px"height="21px"src="imagens/busca.png"><selectname="categoria"><optionvalue="">Categoria</option><?php
$getcategories ="SELECT cidade FROM empresas";
$getcategoriesquery = mysqli_query($conexao, $getcategories)ordie(mysqli_error());while($getcategoriesline = mysqli_fetch_array($getcategoriesquery)){
$categoria = $getcategoriesline['cidade'];
$categoria_id = $getcategoriesline['cidade'];
echo "<option value='$categoria_id'>$categoria</option>";}/*
$getcidade = "SELECT * from empresas where cidade = '$categoria' and cidade like '%$filtro%'";
$getcidadequery = mysqli_query($getcidade) or die (mysqli_error());
$row = mysqli_num_rows($getcidadequery);
if($row > 0) {
while($getcidadeline = mysqli_fetch_array($getcidadequery)){
$cidade = $getcidadeline['cidade'];
echo $cidade;
}
} else {
echo"<center>Nenhum resultado encontrado com estes criterios.</center>";
}
*/?><!--
if($categoria == null){
echo "<center>Por favor selecione uma categoria.</center>";
echo "<br />";
exit();
}
if($busca == null){
echo "<center>Por favor selecione uma categoria.</center>";
echo "<br />";
exit();
}
--></select></div></form></div><divclass="container"><nav><ulclass="menu"></ul></nav><section><?php
include_once("conexao.php");print"<h1><div id='resultadosx'>Resultados</div></h1><h3><div id='topox'>Foram encontrados $registros registros para a busca '$filtro' </div></h3><hr class='hr1'><br><br>";/* print "Resultado da pesquisa com a palavra <strong>$filtro</strong>.<br><br>";
print "$registros registos encontrados."; */print"<div id='topox'>Dê sempre a preferência ao Doméstico da Fé. Gal 6.10</div>";print"<br><br>";while($exibirRegistros = mysqli_fetch_array($consulta)){/* verifica registro por registro e coloca na tela até acabar */
$idempresa = $exibirRegistros [0];
$nome = $exibirRegistros[1];
$servicos = $exibirRegistros[2];
$cidade = $exibirRegistros[3];
$bairro = $exibirRegistros[4];
$endereco = $exibirRegistros[5];
$telefone = $exibirRegistros[6];
$email = $exibirRegistros[7];
$igreja = $exibirRegistros[8];
$obs = $exibirRegistros[9];
$link = $exibirRegistros[10];
$logo = $exibirRegistros[11];print"<article>";/* print "$idempresa<br>"; */print"<div id='logox'><img width=160 height=160 src= $logo></div>";print"<div id='segmentox'><strong>SEGMENTO: $servicos</strong><br></div>";print"<div id='igrejax'>IGREJA:<br><strong>$igreja</strong> </div>";print"<div id='nomex'>Nome: $nome<br>End: $endereco<br>Bairro: $bairro<br>Cidade: $cidade<br></div>";print"<div id='nomex'>Tel: $telefone<br>E-mail: $email<br>Site/Facebook: $link<br> </div>";print"</article>";print"<hr size='2' width='98%' align='center' noshade>";print"<br>";}
mysqli_close($conexao);?></section></div></body></html>
Boa tarde pessoal.
Estou tentado fazer uma consulta no banco de dados porém estou tendo dificuldades.
Tenho uma tabela chamada "itens" com os seguintes campos: id, item, ativo. Nela tem cadastrado vários itens.
No campo ativo eu coloco a letra "S" para informar que este item está ativo no sistema. Por exemplo:
1, casa, S
2, mesa, S
3, cama, S
4, moto S
5, rádio
O quinto registro "radio" não está ativo no sistema pois não tem um "S" no campo ativo.
E outra tabela chamada "produtos" com os seguintes campos (id, item1, item2, item3) com os seguintes registros:
1, casa, mesa, moto
2, mesa, casa, cama
3, rádio, cama, mesa
Eu preciso fazer uma busca na tabela produtos da seguinte maneira:
Eu escolho um registro na tabela "itens", por exemplo "mesa". Preciso fazer com que o php me liste todos os registros da tabela "produtos" que contenham a palavra "mesa".
Até aqui tudo bem eu consigo listar.
Estou fazendo assim:
<?php
$item = "mesa"
$sql = mysqli_query($conn, "SELECT * FROM produtos WHERE item1 LIKE '$item' OR item2 LIKE '$item' OR item3 LIKE '$item' LIMIT 10");
while($aux = mysqli_fetch_assoc($sql)) {
$id = $aux["id"];
$item1 = $aux["item1"];
$item2 = $aux["item2"];
$item3 = $aux["item3"];
echo $id . " - " . $item1 . ", " . $item2 . ", " $item3 . "<br>";
}
?>
O problema é que está listando todos os registros que contém o item mesa.
Eu preciso que o php verifique os demais item e me liste somente os registro em que todos os registros estejam ativos no sistema.
No exemplo acima ele não deveria listar o registro 3. pois nesse registro contém o item "radio" e este item não está ativo no sistema. Ou seja, o registro "radio" na tabela itens não possui um "S" na coluna "ativo".
Alguém sabe como resolver isso?
Fala galera.
Espero que todos estejam bem.
Seguinte: Tenho um arquivo xml onde alguns campos estão com : (dois pontos), como o exemplo abaixo:
<item>
<title>
d sa dsad sad sadasdas
</title>
<link>
dsadas dsa sad asd as dsada
</link>
<pubDate>sadasdasdsa as</pubDate> <dc:creator>
d sad sad sa ad as das </dc:creator>
</item>
Eu estou criando um sistema do zero mas estou encontnrando algumas dificuldades e não estou sabendo resolver, então vim recorrer ajuda de vocês.
Aqui está todo o meu código: https://github.com/PauloJagata/aprendizado/
Eu fiz um sistema de rotas mas só mostra o conteúdo da '/' não sei porque, quando eu tento acessar o register nada muda.
E eu também quero que se não estiver liberado na rota mostra o erro de 404, mas quando eu tento acessar um link inválido, nada acontece.
Alguém pode me ajudar com isso? E se tiver algumas sugestão para melhoria do código também estou aceitando.
Estou criando um site php junto com banco de dados, e estou querendo saber como mesclar a busca por palavras junto com o busca por filtro/categoria. Meu site irá ser o seguinte, o usuario digita algum termo no campo de busca e clica em alguma opção do filtro, que esta dividido por cidades. Ex: digito "Construtor" e seleciono o filtro "cidade A", como eu junto essas duas variaveis e exibo somente os resultados que tenha a palavra "construtor" na "cidade a"? Segue meu código até o momento.
Compartilhar este post
Link para o post
Compartilhar em outros sites