Ir para conteúdo

Arquivado

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

finalking

Ordem Alfabética em Consulta Múltipla

Recommended Posts

Boa Tarde,

 

Estou com o seguinte problema.

 

Tenho uma Listagem de produtos cadastrados num banco de dados MySQL.

 

Existem Categorias e Subcategorias.

 

Para consultar as subategorias de forma independente funciona bem.

 

O problema fica pela Categoria.

 

Exemplo:

Banco de dados

 

Categoria id_categ=1

 

Subcategoria id_categ=20

A

B

C

Subcategoria id_categ=21

A

B

C

Subcategoria id_categ=22

A

B

C

 

Faço a consulta da seguinte forma:

 

$a_query = mysql_query("SELECT * FROM produtos WHERE id_categ in(20,21,22,1) ORDER BY nome ASC") or die(mysql_error());

 

while($a_array = mysql_fetch_array($a_query)){

$nome = $a_array['nome'];

 

echo $nome."<br />";

 

}

 

Ele me retorna assim na página:

 

A

B

C

A

B

C

A

B

C

 

Sendo que preciso que me retorne assim:

 

A

A

A

B

B

B

C

C

C

 

Alguém teria uma luz?

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ordene pelo array utilizando a função natsort, ou FIELD() "MySQL" está função devolverá os índices dos parâmetros passado na clausula in(), se estas estiverem em ordem natural, e senão me engano order by não funciona com in()

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fala pessoal..

 

Tentei até o natsort(), sort()... FIELD() é meio impraticável. O pior é que eu fiz isso funcionar no in() tem um ano isso mas não achei o arquivo. Só lembro que foi algo extremamente simples. :(

 

Para os que pediram a tabela fica aí:

 

Coluna 1 (PK) = id

Coluna 2 = id_categ

Coluna 3 = nome

Coluna 4 = descricao

 

Ainda em busca de uma luz.

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.