$teste=(explode(" ", $_POST["pesquisa"])); for($i=0; $i<count($teste); $i++){ if ($i==0) { $primeiro="titulo like '%".$teste[0]."%'"; } if ($i!=0) { $segundo=" or titulo like '%".$teste[$i]."%'"; } $sql10="select * from objeto where ".$primeiro.$segundo." order by id_objeto desc"; $exec1=mysql_query($sql10,$con);

Consulta Concatenada
Started By leocampra, 16/02/2009, 12:06
2 replies to this topic
#1
Posted 16/02/2009, 12:06
galera a duvida é o seguinte, estou fazendo uma consulta concatenada ou seja tenho um unico campo texto onde o usuario pode digitar mais de uma palavra e a consulta tem que ser feita de palavra em palavra. implementei o codigo abaixo so que esta pegando somente a primeira e a ultima palavra digitada pelo usuario. alguem ai pode me ajudar?
#2
Posted 16/02/2009, 13:00
Olá é que a variavel $segundo esta pegando somente o ultimo loop do for,
voce tem que declara ela antes do for e concatenar dentro do for, segue:
Testa ai.
Fwls...
voce tem que declara ela antes do for e concatenar dentro do for, segue:
$teste=(explode(" ", $_POST["pesquisa"])); $segundo = ""; for($i=0; $i<count($teste); $i++){ if ($i==0) { $primeiro="titulo like '%".$teste[0]."%'"; } if ($i > 0) { $segundo.=" or titulo like '%".$teste[$i]."%'"; } } echo $sql10="select * from objeto where ".$primeiro.$segundo." order by id_objeto desc"."<br>"; $exec1=mysql_query($sql10,$con);O sql executado tem que ficar fora do for para não repetir.
Testa ai.
Fwls...
#3
Posted 16/02/2009, 22:55
Olá é que a variavel $segundo esta pegando somente o ultimo loop do for,
voce tem que declara ela antes do for e concatenar dentro do for, segue:$teste=(explode(" ", $_POST["pesquisa"])); $segundo = ""; for($i=0; $i<count($teste); $i++){ if ($i==0) { $primeiro="titulo like '%".$teste[0]."%'"; } if ($i > 0) { $segundo.=" or titulo like '%".$teste[$i]."%'"; } } echo $sql10="select * from objeto where ".$primeiro.$segundo." order by id_objeto desc"."<br>"; $exec1=mysql_query($sql10,$con);O sql executado tem que ficar fora do for para não repetir.
Testa ai.
Fwls...
cara deu certinho, valeu pela força.
1 user(s) are reading this topic
0 membro(s), 1 visitante(s) e 0 membros anônimo(s)