Jump to content


Photo

Consulta


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

#1 paula_faria

paula_faria

    12 Horas

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

Posted 06/05/2004, 02:52

entao gente, tipo, eu tava querendo fazer tipo um sistema de busca,
e queria q na query do mysql SELECT......fosse coloca um variavel q seria o paramentro para a busca, e como eu faria isso?

eu queria q tal palavra fosse buscada em todos os campos da tabela,
assim do jeito q eu tentei nao funcionou olhem
$cons="SELECT * FROM tabela WHERE '$var'";

eu queria q o conteudo da $var q foi trago por POST de otra pag, fosse buscado em todos os campos da tabela,
como eu faco isso?


brigada, bjs
tchau!

#2 cybermix

cybermix

    andrewsmedina.com.br

  • Ex-Admins
  • 3586 posts
  • Sexo:Não informado
  • Localidade:Não sou desse planeta não!!!!
  • Interesses:python, fireworks, linux, php, flash...

Posted 06/05/2004, 08:21

seria assim

$cons = "select * from TABELA where campo = ' ". $_POST['campo'] . " ' ";

www.andrewsmedina.com.br

#3 MarviN*

MarviN*

    nw . newton web

  • Usuários
  • 780 posts
  • Sexo:Não informado
  • Localidade:Brasília - DF

Posted 06/05/2004, 09:26

Só complementando pra melhorar a lógica da sua busca:

SELECT * FROM tabela WHERE campo LIKE '%" . $_POST['campo'] . "%'


A diferença deste pro do cybermix, é que no caso dele, ele vai retornar só os registros onde campo for IGUAL a $_POST['campo'].. nesta aí acima, ele vai retornar os registros onde em campo, estiver a palavra ou a frase $_POST['campo'].

Os % funcionam como o * em sistemas de busca.. vc pode usar:

%palavra - campos q terminam com 'palavra'
palavra% - campos que começam com 'palavra'
%teste%palavra% - campos que tenham 'teste' e depois 'palavra'
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
[ Blog Desenvolvimento Web: http://www.newtonwagner.net/blog ]
[ Diário da Selva: http://www.diariodaselva.com/ ]

[ "Não existe um caminho para a paz; a paz é o caminho." Mahatma Gandhi ]

#4 paula_faria

paula_faria

    12 Horas

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

Posted 06/05/2004, 16:29

olhe, deu certim assim,
$consulta="SELECT * FROM tabela_1 WHERE campo_1 LIKE '$busca_'";
sendo a a $busca eh
$busca=$_POST[busca];

funcionou perfeitamente,
mas eu queria algo a mais q ao em vez dele buscar apenas no "campo_1" eu queria q ele buscasse em mais 3 campos pela mesma palavra, mas eu nao estou conseguindo isso,
eu tentei
(campo1, campo2, campo3, campo4) tentei tb
'campo1', 'campo2' .......
"campo1", "campo2"......

e tb nao deu certo,
como q eu faco isso??

e alguem pode me explicar diretio esse LIKE?
pq eu nao achei nada sobre no manual do mysql......


brigada, bjs
tchau!

#5 thiagorsl

thiagorsl

    Ex-admin xD

  • Ex-Admins
  • 1151 posts
  • Sexo:Não informado
  • Localidade:Sampa
  • Interesses:http://sermaldito.amovoce.net/

Posted 07/05/2004, 16:21

Olha para selecionar em mais de um campo vc usa o or assim

SELECT * FROM tabela_1 WHERE campo_1 LIKE '$busca_ or campo_2 LIKE '$busca_ ........

E repeti conforme sua necessidade ;)

Procure aqui que tem muita coisa aqui sobre o like (y)

#6 paula_faria

paula_faria

    12 Horas

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

Posted 07/05/2004, 17:39

brigada thiago!!
funcionou certim!!!!

brigada mesmo,
bjstchau!

#7 chubbchubbs

chubbchubbs

    Novato no fórum

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

Posted 07/05/2004, 18:11

Gente ...

Eu utilizo uma consulta mais dinamica montando toda a QUERY em partes ... ex:

$select = 'SELECT '.$campos;
$from = ' FROM '.$tabela;
$where = ' WHERE ';
$vand = ' AND ';
$vor = ' OR ';

//PEGAR DADOS DO FORM E CONFORME VC QUISER VC CRIA A CONSULTA AQUI

$consulta = $campo.' = '.$_POST['resposta'].$vand;
.
.
.
$consulta = $consulta.$campo." LIKE '%".$_POST['resposta1'];

//NO FINAL È SO MONTAR
$comando = $select.$from.$where.$consulta; //SE NECESSARIO CRIAR UMA VAR PARA PO ORDER BY


Espero ter cooperado ...

Valeu




1 user(s) are reading this topic

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

IPB Skin By Virteq