Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

abelvicente

resultado de um select distinct

Recommended Posts

bom dia,, 

não consigo acessar o array fornecido por uma pesquisa do tipo SELECT DISTINCT , segue o trecho de código:

 

$pesq        = mysql_query("SELECT DISTINCT `nome_intiero` FROM  `clientes` WHERE  (`primeiro_nome`  like \"joao%\")");

 

obviamente vai fornecer um array com todos os clientes cujo nome começa com "joao" ou tenha "joao " no meio do nome;

....aí começa meus problemas,, como ter acesso a cada nome,, a partir do primeiro,, ????

 

Caso NÃO fosse o tipo "SELECT DISTINCT" ,,,ou seja caso fosse "SELECT * " seria bem simples,, 

sei q seria  $resultado = mysql_fetch_array($pesq);

 

Em fim,, fica minha pergunta,, como pegar cada posição de um ARRAY formado por um

SELECT DISTINC 

 

utilidade:,, preciso fazer um "foreach" para cada nome apartir do primeiro;

 

Grato,,,

 

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

a forma de iterar a array é sempre a mesma não importa o tipo de SELECT. agora eu escrevo esse tipo de consulta assim

 

$pesq = mysql_query("SELECT DISTINCT nome_intiero FROM  clientes WHERE primeiro_nome LIKE '%joao%'");

 

e claro que só vai vir o nome_intiero - aliás é nome_intiero mesmo ou nome_inteiro? - já que só tá passando ele na consulta. e por que ter nome e nome inteiro invés de nome e sobrenome ou só uma coluna com nome_completo? primeira vez que vejo desse jeito:tounge_wink:

e como o primeiro nome pode estar no começo ou no meio se ele é só o primeiro nome? não ia ter só o nome joão mesmo nessa coluna? não podia ser WHERE primeiro_nome='joao'? se tá passando o LIKE pra consultar qualquer parte da string pode passar ela no nome_inteiro diretamente sem precisar envolver primeiro_nome também, e quanto aos acentos? é gravado sem eles na tabela? 

 

a e procura sempre destacar códigos da maneira correta usando o code <> ok? fica muito mais fácil pra gente ler e entender

Compartilhar este post


Link para o post
Compartilhar em outros sites
Em 28/04/2017 at 12:51, marsolim disse:

a forma de iterar a array é sempre a mesma não importa o tipo de SELECT. agora eu escrevo esse tipo de consulta assim

 


$pesq = mysql_query("SELECT DISTINCT nome_intiero FROM  clientes WHERE primeiro_nome LIKE '%joao%'");

 

e claro que só vai vir o nome_intiero - aliás é nome_intiero mesmo ou nome_inteiro? - já que só tá passando ele na consulta. e por que ter nome e nome inteiro invés de nome e sobrenome ou só uma coluna com nome_completo? primeira vez que vejo desse jeito:tounge_wink:

e como o primeiro nome pode estar no começo ou no meio se ele é só o primeiro nome? não ia ter só o nome joão mesmo nessa coluna? não podia ser WHERE primeiro_nome='joao'? se tá passando o LIKE pra consultar qualquer parte da string pode passar ela no nome_inteiro diretamente sem precisar envolver primeiro_nome também, e quanto aos acentos? é gravado sem eles na tabela? 

 

a e procura sempre destacar códigos da maneira correta usando o code <> ok? fica muito mais fácil pra gente ler e entender

bom dia amigo,, grato por responder,, mas,,,,

 

você complicou ,,, criticou,, e não final não disse nada,não serviu para nada,, não ajudou em nada,,, podia resumir em uma linha sua resposta com algo do tipo..  'faça isso' ou simplesmente,, "faça aquilo" ,  se você quer realmente ajudar,,, simplesmente me diga como eu pego o array da pesquisa, simplesmente isso,,  pois estou fazendo <$resultado = mysql_fetch_array($pesq);> e esta linha não pega o resultado, no entanto  fazendo <$contador = mysql_num_rows($pesq);>  retorna o numero exato de linhas pesquisadas,,, ou seja,, algo esta errado em algum lugar,,

 

ps. se for pra dar aquela resposta longa e complicada,,, sugiro nem responder,, porem se você se dispor a responder simplesmente me diga,,, como pego o primeiro nome da pesquisa.

grato.

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

Em 2017-4-28 at 11:47, abelvicente disse:

Caso NÃO fosse o tipo "SELECT DISTINCT" ,,,ou seja caso fosse "SELECT * " seria bem simples,, 

sei q seria  $resultado = mysql_fetch_array($pesq);

para percorrer o array, use while

 

Exemplo:

while($resultado = mysql_fetch_array($pesq)) {
       echo $resultado['nome_da_coluna'] . '<br />';
}

ou com foreach
 

$resultado = mysql_fetch_array($pesq);

foreach ($resultado as $key => $linha) {
	echo $linha['nome_da_coluna'] . '<br />';
}

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

meu caro pra ajudar a gente tem que entender o problema e pra entender a gente tem que perguntar e expor até onde a gente entendeu e essa foi minha intenção. é se falando que a gente se entende e se ajuda. eu te falei como eu faria do jeito que entendi que era o problema. tu não entende o que seu cliente quer de primeira, vocês tem que conversar várias vezes para que possa entender. aqui é a mesma coisa penso eu. 

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.