Jump to content


Photo

Buscar


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

#1 MaRaCa

MaRaCa

    Normal

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

Posted 07/05/2005, 11:07

Olá Pessoal. Estou com um probleminha que acho que deve ser de facil resolução, mas não estou conseguindo resolver =/

tenho uma busca em um input text onde a pessoa pode pesquisar por "Nome Completo" ou "id"
O problema é que tenho que juntar os campos "Nome" e "Sobrenome" para que retorne o nome completo.
Por exemplo:
Jogador > Nome: Alex Silva Sobrenome: Alves
Se a pessoa digitasse "Alex Silva" ou "Alex Silva Alves" deveria retornar este jogador.
Mas não estou conseguindofazer isto, abaixo segue minha query:
$busca = mysql_query("SELECT * FROM jogadores WHERE ver= 'on' AND nome LIKE '%".$palavra."%' OR sobrenome LIKE '%".$palavra."%' OR id LIKE '%".$palavra."%' ORDER BY $ordem LIMIT $inicio, $lpp");

Ja tentei colocar da seguinte maneira:
$busca = mysql_query("SELECT * FROM jogadores WHERE ver= 'on' AND nome LIKE '%".$palavra."%' AND sobrenome LIKE '%".$palavra."%' OR id LIKE '%".$palavra."%' ORDER BY $ordem LIMIT $inicio, $lpp");
mas não funcionou também.

Espero a ajuda de vocês.

Já grato!

#2 kurole

kurole

    Ativo

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

Posted 07/05/2005, 11:42

Parece estar tudo certo,

o que esta retornando!


$$$$ KUROLE $$$$$

#3 MaRaCa

MaRaCa

    Normal

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

Posted 07/05/2005, 12:21

O problema é, por exemplo, nome completo do jogador é 'Renato Monteiro'
Quando eu faço a busca pelo nome completo retorna que não encontrou nenhum resultado, agora quando eu digito somente 'Renato' ou somente 'Monteiro' retorna o jogador certo, mas quero que a busca faça pelo nome completo entende.

#4 Felipe Pena

Felipe Pena

    O temor do Senhor é o princípio da sabedoria

  • Ex-Admins
  • 6441 posts
  • Sexo:Masculino

Posted 07/05/2005, 14:39

Você usa 2 campos na tabela né?

Na sua query você verifica até no ID. :blink:

Se você quer verificar em 2 campos (nome, sobrenome) você deve fazer:


$busca = mysql_query("
SELECT *
FROM
    jogadores
WHERE
    ver = 'on' AND nome LIKE '%{$palavra}%' OR sobrenome LIKE '%{$palavra}%'
ORDER BY
    {$ordem}
LIMIT
    {$inicio}, {$lpp}") or die (mysql_error());



Sendo que a variável $palavra contém por exemplo:

$palavra = "{$_POST["nome"]} {$_POST["sobrenome"]}";


Certo? Está juntando o valor do nome do sobrenome vindo do formulário...
Felipe Pena
[...] ó terra, terra, terra; ouve a palavra do Senhor. — Jeremias 22:29

#5 MaRaCa

MaRaCa

    Normal

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

Posted 07/05/2005, 16:52

Não é bem isso Justice.

A pessoa só tem uma input text para buscar. Ela irá buscar o "Nome Completo" do jogador ou o "ID" dele. O problema é que eu não tenho o campo "nomecompleto" e sim, "nome" e "sobrenome" Então teria que fazer uma junção dessas variaveis, como por exemplo:
$nomecompleto = $nome . " " . $sobrenome;
e aplicar na query.
Tentei fazer isto, mas não funcionou também.

Peço a ajuda de vocês para resolver isto =/

#6 Hawk

Hawk

    Turista

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

Posted 07/05/2005, 17:06

usa explode para explodir o nome completo separando em palavra 1 e palavra 2

procurando em nome a palavra1 e sobrenome a palavra2 tenta ae.

Entendeu? Sabe fazer o código é que tô meio sem tempo senão até escreveria hehehe.

Edição feita por: Hawk, 07/05/2005, 17:07.


#7 MaRaCa

MaRaCa

    Normal

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

Posted 07/05/2005, 17:09

Não sei fazer, ou melhor não consegui hehe.. tentei aqui e apanhei novamente.
Você poderia colocar um codigo de exemplo para mim, ou algum tutorial?

#8 Hawk

Hawk

    Turista

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

Posted 07/05/2005, 17:25


<?

//muda de acordo com seu form

$palavra = $_POST["busca"];



//serparando nome de sobrenome

$nome_completo = explode(" ", $palavra);

      $nome = $nome_completo[0];

      $sobrenome = $nome_completo[1];

      

//busca

$busca = mysql_query("SELECT * FROM jogadores WHERE ver= 'on' AND nome LIKE '%".$nome."%' AND sobrenome LIKE '%".$sobrenome."%' ORDER BY $ordem LIMIT $inicio, $lpp");

?>

Edição feita por: Hawk, 07/05/2005, 17:26.





1 user(s) are reading this topic

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

IPB Skin By Virteq