Jump to content


Photo

Sisteminha De Busca


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

#1 Sp3ak3

Sp3ak3

    12 Horas

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

Posted 19/02/2009, 16:30

bom galera queria tirar uma duvida, como faço para a hora que minha busca for pesquizar no bd, ela fazer algumas prioridades, por exemplo:

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 fiote

fiote

    12 Horas

  • Usuários
  • 191 posts
  • Sexo:Masculino
  • Localidade:Vila Velha - ES
  • Interesses:PHP

Posted 19/02/2009, 18:37

Tem como você mostrar a query que está usando?
[ FFTOnline.Net ]
Developed by Fiote, Powered by Mootools.

#3 Sp3ak3

Sp3ak3

    12 Horas

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

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 Sp3ak3

Sp3ak3

    12 Horas

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

Posted 03/03/2009, 14:31

ola galera, to precisando d+_ disso, quem me ajudar nisso eu pago, mais preciso com urgencia, adiciona meu msn: brun0conte@hotmail.com

#5 '' sem.Ponto

'' sem.Ponto

    Super Veterano

  • Ex-Admins
  • 2098 posts
  • Sexo:Masculino
  • Localidade:Belo Horizonte

Posted 03/03/2009, 15:33

Você tem que colocar o LIKE em todos os campos.

AND atividade LIKE '%$busca%' AND cidade LIKE '%$busca%' AND setor LIKE '%$busca%'

(ok2)
att,
Muller Dias
ex-administrador Fórum WMO

#6 Sp3ak3

Sp3ak3

    12 Horas

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

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%'

(ok2)


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 '' sem.Ponto

'' sem.Ponto

    Super Veterano

  • Ex-Admins
  • 2098 posts
  • Sexo:Masculino
  • Localidade:Belo Horizonte

Posted 03/03/2009, 17:45

Tente assim:

if(isset($busca)) {
$sql_usu .= " AND (atividade LIKE '%$busca%' OR cidade LIKE '%$busca%' OR setor LIKE '%$busca%')";
}

(ok2)
att,
Muller Dias
ex-administrador Fórum WMO

#8 Sp3ak3

Sp3ak3

    12 Horas

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

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%')";
}

(ok2)


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 '' sem.Ponto

'' sem.Ponto

    Super Veterano

  • Ex-Admins
  • 2098 posts
  • Sexo:Masculino
  • Localidade:Belo Horizonte

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.
att,
Muller Dias
ex-administrador Fórum WMO

#10 Sp3ak3

Sp3ak3

    12 Horas

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

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 '' sem.Ponto

'' sem.Ponto

    Super Veterano

  • Ex-Admins
  • 2098 posts
  • Sexo:Masculino
  • Localidade:Belo Horizonte

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%')";
}

(ok2)
att,
Muller Dias
ex-administrador Fórum WMO

#12 Sp3ak3

Sp3ak3

    12 Horas

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

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%')";
}

(ok2)


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 Maykel Esser

Maykel Esser

    Super Veterano

  • Usuários
  • 1536 posts
  • Sexo:Masculino
  • Localidade:Curitiba - PR

Posted 04/03/2009, 15:12

O erro está bem claro! Veja a linha 7.

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! add.png


#14 Sp3ak3

Sp3ak3

    12 Horas

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

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 '' sem.Ponto

'' sem.Ponto

    Super Veterano

  • Ex-Admins
  • 2098 posts
  • Sexo:Masculino
  • Localidade:Belo Horizonte

Posted 04/03/2009, 15:42

É por causa dos coringas...

Então, use AND na query.

AND atividade LIKE '%$atividade%' AND cidade LIKE '%$cidade%' AND setor LIKE '%$estado%'

att,
Muller Dias
ex-administrador Fórum WMO




0 user(s) are reading this topic

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

IPB Skin By Virteq