Ir para conteúdo
Fórum Script Brasil
  • 0

Exibir resultado da busca em várias colunas


juliano.ma

Pergunta

Olá pessoal,

tenho a seguinte tabela:

id .... nome ..... color1 ...... color2 ....... color3 ....... color4 ....... color5 ..... color6

01 ... João ....... branco ..... verde ......... amarelo ...... azul ......... preto ......... roxo

02 ... Pedro ..... roxo ......... preto .......... azul .......... amarelo ..... verde ....... cinza

03 ... Jorge ...... cinza ........ roxo ........... branco ...... amarelo ..... azul .......... marrom

04 ... Carlos .... marrom .... amarelo ...... azul ........... preto ......... roxo ......... cinza

05 ... José ....... verde ....... marrom ...... cinza .......... roxo ...........branco ..... amarelo

Vejam que o verde consta no nos id's 01, 02 e 05.

Como exibir esses id's ou nomes do resultado mysql com busca em várias colunas?

OBS: Eu tenho que necessáriamente pesquisar nas colunas colors, pois em outras colunas também há cores e não quero que elas entrem na pesquisa.

Tenho tentado o seguinte:

<?php
include 'config.php';
$palavra = $_GET['palavra'];
$sql3 = mysql_query("SELECT * FROM tabela WHERE color1 AND color2 AND color3 AND color4 AND color5 AND color6 LIKE '%".$palavra."%'");
while($reg = mysql_fetch_array($sql3)) {
   echo $reg[id];     // É daqui para frente que eu não sei como implementar...
   echo "<br>";
}
?>

Perguntas:

Na parte do SELECT é certo fazer assim; WHERE color1 AND color2 AND color3... ?

O LIKE está certo concatenado assim; LIKE '%".$palavra."%' ?

Pra mim exibir os resultados tentei assim: echo $reg[id]; mas não exibe nada...

Abraço à todos!

Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0

Opa pessoal já deu certinho aqui usando OR e a variável no SELECT.

Também retirei o LIKE.

EX:

<?php
include 'config.php';
$palavra = $_GET['palavra'];
$sql3 = mysql_query("SELECT * FROM tabela WHERE color1='$palavra ' OR color2='$palavra ' OR color3='$palavra ' OR color4='$palavra ' OR color5='$palavra ' OR color6='$palavra '");
while($reg = mysql_fetch_array($sql3)) {
   echo $reg[nome];
   echo "<br>";
}
?>

Agora deixa eu colocar mais um desafio...

digamos que eu queira exibir também o resultado da próxima coluna usando a mesma busca;

Ex:

id .... nome ...... color1 ....... color1perc ..... color2 ...... color2perc ..... color3 .... color3perc

01 ... João ....... branco ........... 5% ................ verde ........ 10% ......... preto ....... 105%

02 ... Pedro ..... roxo ............... 22% .............. azul .......... 15% ......... verde ....... 50%

03 ... Jorge ...... cinza .............. 25% ............. branco ...... 0,9% ........ azul .......... 100%

04 ... Carlos .... marrom .......... 54% ............. azul ........... 60% ......... roxo ......... 80%

05 ... José ........ verde ............ 30% ............ cinza .......... 65% .........branco ..... 70%

Nesse caso eu estou buscando os nomes que contem a cor verde e gostaria de obter o seguinte resultado:

João - 10%

Pedro - 50%

José - 30%

Então quando eu fizesse a busca pela cor verde o resultado me retornaria o nome e o percentual:

Link para o comentário
Compartilhar em outros sites

  • 0

Então pessoal,

tentei isso olhem:

<?php
include 'config.php';
$palavra = $_GET['palavra'];
$sql3 = mysql_query("SELECT * FROM tabela WHERE color1='$palavra ' OR color2='$palavra ' OR color3='$palavra ' OR color4='$palavra ' OR color5='$palavra ' OR color6='$palavra '");
while($reg = mysql_fetch_array($sql3)) {
++$i;
$percent = "$palavra".$i."%";
echo $reg['nome'];
echo "<br>";
echo $percent;
echo "<br>";
}
?>

Mas desse jeito ele fica apenas contando linhas tipo:

João - verde1%

Pedro - verde2%

José - verde3%

Link para o comentário
Compartilhar em outros sites

  • 0

Me perdoem o flood, mas não dava mais pra editar o post acima.

Um outro amigo me disse pra usar a função FIELD () para a judar a encontrar o resultado, mas não manjo muito de mysql.

seria isso;

SELECT FIELD('color1', 'color2', 'color3', 'color4', 'color5', 'color6');

ou

SELECT FIELD('color1perc', 'color2perc', 'color3perc', 'color4perc', 'color5perc', 'color6perc');

Dá uma força ae amigos!

Abraço!

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152k
    • Posts
      651,8k
×
×
  • Criar Novo...