Sisteminha De Busca
#1
Posted 19/02/2009, 16:30
Atividade>> Cidade >> Setor
como faço para meu campo fazer o seguinte, se eu procurar a atividade Clinica, na cidade Goiania, no setor central, seu eu pesquizar do jeito que fiz, quando o usuario coloca goiania e setor aparecem tudo ao inves dele filtrar, gostaria de filtrar as infos,
quem puder me ajudar da um alo
#2
Posted 19/02/2009, 18:37
#3
Posted 19/02/2009, 21:49
<?php
require ("includes/conecta.php");
$sql_usu = "select id, empresa, atividade, cidade, setor from guia WHERE ativo = '1'";
$busca = $_POST['busca'];
if(!empty($busca)) {
$sql_usu .= " AND atividade AND cidade AND setor LIKE '%$busca%'";
}
$sql_usuarios = mysql_query($sql_usu) or die( mysql_error() );
?>
ai esta
#4
Posted 03/03/2009, 14:31
#5
Posted 03/03/2009, 15:33
AND atividade LIKE '%$busca%' AND cidade LIKE '%$busca%' AND setor LIKE '%$busca%'
Muller Dias
ex-administrador Fórum WMO
#6
Posted 03/03/2009, 17:24
Você tem que colocar o LIKE em todos os campos.
AND atividade LIKE '%$busca%' AND cidade LIKE '%$busca%' AND setor LIKE '%$busca%'
coloquei so que o sistema continua mostrando todos os cadastros no banco de dados ao inves de mostrar so o que foi filtrado.
veja o codigo:
<?php
require ("includes/conecta.php");
$sql_usu = "select id, empresa, atividade, cidade, setor from guia WHERE ativo = '1'";
$busca = $_POST['busca'];
if(!empty($busca)) {
$sql_usu .= " AND atividade LIKE '%$busca%' AND cidade LIKE '%$busca%' AND setor LIKE '%$busca%'";
}
$sql_usuarios = mysql_query($sql_usu) or die( mysql_error() );
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR...nsitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Listemails.com.br</title>
<style type="text/css">
<!--
a { text-decoration: none; }
a.classe1:hover { text-decoration: underline; color: #006600; }
a.classe1 { color: #006600; }
a.classe2 { text-decoration: underline overline; }
a.classe2:hover {text-decoration: underline; color: #006600; }
.style9 {font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px; }
.style13 {font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px; font-weight: bold; }
-->
</style>
</head>
<body bgcolor="#C0C0C0">
<div align="center">
<center>
<table width="800" border="0" style="border-collapse: collapse" bordercolor="#111111" cellpadding="0" cellspacing="0">
<tr>
<td><?php include"topo.htm"; ?></td>
</tr>
<tr>
<td bgcolor="#FFFFFF">
<table border="0" cellspacing="1" width="100%" id="AutoNumber1">
<tr>
<td width="20%" valign="top" align="left">
<table border="0" cellspacing="0" width="100%" id="AutoNumber2" style="border-collapse: collapse" bordercolor="#111111" cellpadding="0">
<tr>
<td width="100%" bgcolor="#E8E8E8">
<table border="0" cellspacing="1" width="100%" id="AutoNumber3" align="left">
<tr>
<td width="100%"><?php include"php/publicidadeesquerda.php"; ?></td>
</tr>
</table> </td>
</tr>
</table>
</td>
<td width="58%" valign="top">
<table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="100%" id="AutoNumber6">
<tr>
<td width="100%"><img src="imgs/site/pesquisa.jpg" width="455" height="40" /></td>
</tr>
</table>
<?php
if (mysql_num_rows($sql_usuarios) > 0)
while ($vetor=mysql_fetch_array($sql_usuarios)) { ?>
<table width="100%" border="0" style="border-collapse: collapse" bordercolor="#111111" cellpadding="0" cellspacing="0">
<tr>
<td><div align="left" class="style9">
<div align="left"><strong>Nome da empresa: </strong><?php echo $vetor['empresa'] ?></div>
</div></td>
</tr>
<tr>
<td><div align="left">-----------------------------------------------------------------</div></td>
</tr>
</table>
<?php } ?></td>
<td width="22%" valign="top">
<table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="100%" id="AutoNumber4">
<tr>
<td width="100%" bgcolor="#E8E8E8"><div align="left">
<?php include"php/publicidadedireita.php"; ?>
</div></td>
</tr>
</table>
</td>
</tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="100%" id="AutoNumber5">
<tr>
<td width="100%"><img border="0" src="imgs/site/linha.gif" width="800" height="3"></td>
</tr>
<tr>
<td width="100%">
<p align="center"><font face="Verdana" size="1">Todos direitos
Reservados Listemails.com.br<br>
</font><a target="_blank" href="http://www.anapolisa...isaqui.com.br">
<img border="0" src="imgs/site/logomarcaidealcriacoes.gif" width="52" height="29"></a></td>
</tr>
</table>
</td>
</tr>
</table>
</center>
</div>
</body>
</html>
#7
Posted 03/03/2009, 17:45
if(isset($busca)) { $sql_usu .= " AND (atividade LIKE '%$busca%' OR cidade LIKE '%$busca%' OR setor LIKE '%$busca%')"; }
Muller Dias
ex-administrador Fórum WMO
#8
Posted 03/03/2009, 18:15
Tente assim:
if(isset($busca)) { $sql_usu .= " AND (atividade LIKE '%$busca%' OR cidade LIKE '%$busca%' OR setor LIKE '%$busca%')"; }
continua dando o erro de mostrar todos cadastros, olha meu form para buscar:
<table width="100%" border="0" style="border-collapse: collapse" bordercolor="#111111" cellpadding="0" cellspacing="0">
<tr>
<td><img src="imgs/site/pesquisa.jpg" width="455" height="40" /></td>
</tr>
<tr>
<td><form action="busca.php" method="post" name="busca">
<table width="100%" border="0">
<tr>
<td width="20%"><div align="left"><span class="style6">Atividade:</span></div></td>
<td width="80%"><div align="left">
<input type="text" name="atividade" size="20" id="atividade" />
</div></td>
</tr>
<tr>
<td><div align="left">
<div align="left"><span class="style6">Cidade:</span></div>
</div></td>
<td><div align="left">
<input type="text" name="cidade" size="20" id="cidade" />
</div></td>
</tr>
<tr>
<td><div align="left"><span class="style6">Setor:</span></div></td>
<td>
<div align="left">
<input type="text" name="setor" size="20" id="setor" />
</div></td>
</tr>
<tr>
<td><div align="left"></div></td>
<td><div align="left">
<input type="submit" value="Buscar" />
-
<input type="reset" value="Limpar dados" />
</div></td>
</tr>
</table>
</form></td>
</tr>
</table>
#9
Posted 03/03/2009, 19:52
$busca = $_POST['busca'];
Você sabe como funciona isso? A superglobal $_POST pega todos os valores passados pelo método post, no caso você está pegando o valor do campo busca o qual não existe.
No seu formulário eu estou vendo apenas os campos atividade, cidade e setor. Sendo assim, você tem que pegar os valores desses campos, não de um campo que não existe.
Muller Dias
ex-administrador Fórum WMO
#10
Posted 03/03/2009, 21:09
$busca = $_POST['busca'];
Você sabe como funciona isso? A superglobal $_POST pega todos os valores passados pelo método post, no caso você está pegando o valor do campo busca o qual não existe.
No seu formulário eu estou vendo apenas os campos atividade, cidade e setor. Sendo assim, você tem que pegar os valores desses campos, não de um campo que não existe.
mudei para:
<?php
require ("includes/conecta.php");
$sql_usu = "select id, empresa, atividade, cidade, setor from guia WHERE ativo = '1'";
$atividade = $_POST['atividade'];
$cidade = $_POST['cidade'];
$estado = $_POST['estado'];
if(isset($busca)) {
$sql_usu .= " AND (atividade LIKE '%$atividade%' OR cidade LIKE '%$cidade%' OR setor LIKE '%$estado%')";
}
$sql_usuarios = mysql_query($sql_usu) or die( mysql_error() );
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR...nsitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Listemails.com.br</title>
<style type="text/css">
<!--
a { text-decoration: none; }
a.classe1:hover { text-decoration: underline; color: #006600; }
a.classe1 { color: #006600; }
a.classe2 { text-decoration: underline overline; }
a.classe2:hover {text-decoration: underline; color: #006600; }
.style9 {font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px; }
.style13 {font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px; font-weight: bold; }
-->
</style>
</head>
<body bgcolor="#C0C0C0">
<div align="center">
<center>
<table width="800" border="0" style="border-collapse: collapse" bordercolor="#111111" cellpadding="0" cellspacing="0">
<tr>
<td><?php include"topo.htm"; ?></td>
</tr>
<tr>
<td bgcolor="#FFFFFF">
<table border="0" cellspacing="1" width="100%" id="AutoNumber1">
<tr>
<td width="20%" valign="top" align="left">
<table border="0" cellspacing="0" width="100%" id="AutoNumber2" style="border-collapse: collapse" bordercolor="#111111" cellpadding="0">
<tr>
<td width="100%" bgcolor="#E8E8E8">
<table border="0" cellspacing="1" width="100%" id="AutoNumber3" align="left">
<tr>
<td width="100%"><?php include"php/publicidadeesquerda.php"; ?></td>
</tr>
</table> </td>
</tr>
</table>
</td>
<td width="58%" valign="top">
<table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="100%" id="AutoNumber6">
<tr>
<td width="100%"><img src="imgs/site/pesquisa.jpg" width="455" height="40" /></td>
</tr>
</table>
<?php
if (mysql_num_rows($sql_usuarios) > 0)
while ($vetor=mysql_fetch_array($sql_usuarios)) { ?>
<table width="100%" border="0" style="border-collapse: collapse" bordercolor="#111111" cellpadding="0" cellspacing="0">
<tr>
<td><div align="left" class="style9">
<div align="left"><strong>Nome da empresa: </strong><?php echo $vetor['empresa'] ?></div>
</div></td>
</tr>
<tr>
<td><div align="left">-----------------------------------------------------------------</div></td>
</tr>
</table>
<?php } ?></td>
<td width="22%" valign="top">
<table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="100%" id="AutoNumber4">
<tr>
<td width="100%" bgcolor="#E8E8E8"><div align="left">
<?php include"php/publicidadedireita.php"; ?>
</div></td>
</tr>
</table>
</td>
</tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="100%" id="AutoNumber5">
<tr>
<td width="100%"><img border="0" src="imgs/site/linha.gif" width="800" height="3"></td>
</tr>
<tr>
<td width="100%">
<p align="center"><font face="Verdana" size="1">Todos direitos
Reservados Listemails.com.br<br>
</font><a target="_blank" href="http://www.anapolisa...isaqui.com.br">
<img border="0" src="imgs/site/logomarcaidealcriacoes.gif" width="52" height="29"></a></td>
</tr>
</table>
</td>
</tr>
</table>
</center>
</div>
</body>
</html>
so que continua baixando todos cadastros ainda do bd, me adiciona no msn ai brun0conte@hotmail.com se for o caso te pago para me ajudar fazer isso, ja estou ficando louco
#11
Posted 03/03/2009, 23:33
if(isset($busca)) { $sql_usu .= " AND (atividade LIKE '%$atividade%' OR cidade LIKE '%$cidade%' OR setor LIKE '%$estado%')"; }
Você fez certo, mas não mudou a condicional.
if($atividade || $cidade || $estado) { $sql_usu .= " AND (atividade LIKE '%$atividade%' OR cidade LIKE '%$cidade%' OR setor LIKE '%$estado%')"; }
Muller Dias
ex-administrador Fórum WMO
#12
Posted 04/03/2009, 08:14
if(isset($busca)) { $sql_usu .= " AND (atividade LIKE '%$atividade%' OR cidade LIKE '%$cidade%' OR setor LIKE '%$estado%')"; }
Você fez certo, mas não mudou a condicional.if($atividade || $cidade || $estado) { $sql_usu .= " AND (atividade LIKE '%$atividade%' OR cidade LIKE '%$cidade%' OR setor LIKE '%$estado%')"; }
agora deu um erro.
veja os dois jeitos que fiz:
<?php
require ("includes/conecta.php");
$sql_usu = "select id, empresa, atividade, cidade, setor from guia WHERE ativo = '1'";
$atividade = $_POST['atividade'];
$cidade = $_POST['cidade'];
$estado = $_POST['estado'];
if(isset($atividade || $cidade || $estado)) {
$sql_usu .= " AND (atividade LIKE '%$atividade%' OR cidade LIKE '%$cidade%' OR setor LIKE '%$estado%')";
}
$sql_usuarios = mysql_query($sql_usu) or die( mysql_error() );
?>
e assim:
<?php
require ("includes/conecta.php");
$sql_usu = "select id, empresa, atividade, cidade, setor from guia WHERE ativo = '1'";
$atividade = $_POST['atividade'];
$cidade = $_POST['cidade'];
$estado = $_POST['estado'];
if($atividade || $cidade || $estado)) {
$sql_usu .= " AND (atividade LIKE '%$atividade%' OR cidade LIKE '%$cidade%' OR setor LIKE '%$estado%')";
}
$sql_usuarios = mysql_query($sql_usu) or die( mysql_error() );
?>
ambos deu o mesmo erro
Parse error: syntax error, unexpected ')' in /home/listemai/public_html/busca.php on line 7
#13
Posted 04/03/2009, 15:12
Tem um parenteses sobrando ali! if($atividade || $cidade || $estado))
Edição feita por: maykel, 04/03/2009, 15:12.
Se este post lhe ajudou, ajude o fórum também. Use a reputação de mensagens!
#14
Posted 04/03/2009, 15:32
O erro está bem claro! Veja a linha 7.
Tem um parenteses sobrando ali! if($atividade || $cidade || $estado))
foi uma bobeira minha, vlw, mais mesmo assim ainda nao esta filtrando, sera pq??? ja quebrei a cabeça aqui. olha como e meu bd:
create table guia (
id int(11) not null auto_increment,
empresa varchar(255) default null,
telefone varchar(255) default null,
atividade varchar(255) default null,
estado varchar(255) default null,
cidade varchar(255) default null,
setor varchar(255) default null,
rua varchar(255) default null,
cep varchar(255) default null,
pessoa varchar(255) default null,
site varchar(255) default null,
email varchar(255) default null,
valorcontrato varchar(255) default null,
dataassinatura varchar(255) default null,
vencimento1 varchar(255) default null,
vencimento2 varchar(255) default null,
pagamento1 varchar(255) default null,
pagamento2 varchar(255) default null,
descricao varchar(3000) default null,
ativo ENUM ('1','2') default null,
PRIMARY KEY(id)
);
mais o que vai aparecer para meu usuario e so o nome da empresa, so que para aparecer o nome da empresa tem que filtrar a cidade da empresa e o setor que a empresa e localizada na cidade, entende?????
Edição feita por: Sp3ak3, 04/03/2009, 15:34.
#15
Posted 04/03/2009, 15:42
Então, use AND na query.
AND atividade LIKE '%$atividade%' AND cidade LIKE '%$cidade%' AND setor LIKE '%$estado%'
Muller Dias
ex-administrador Fórum WMO
1 user(s) are reading this topic
0 membro(s), 1 visitante(s) e 0 membros anônimo(s)