Ir para conteúdo

POWERED BY:

Arquivado

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

renatoraioz

ordenar uma consulta de acordo com valores de outra tabela

Recommended Posts

ola pessoal... estou com uma necessidade que nao sei como resolver, em relacao a consulta em mysql com php...

 

tenho uma tabela onde gravo o nome de pastas virtuais... tipo:

 

IDPAS

NOME

 

e tenho outra onde gravo o nome de arquivos... cada registro de arquivo leva o ID da pasta... tipo:

 

IDARQ

ARQ_NOME

IDPAS

 

Eu tenho que fazer uma consulta na tabela de arquivos, exibindo no site... mas gostaria de ordenar pela ordem alfabetica da pasta de cada arquivo... como na tabela de arquivos nao tenho o nome da pasta, apenas o ID, nao sei como fazer... pensei em gravar dados temporarios no BD para montar a listagem, porem este script faz parte de um cms inteiro e nao teria como fazer esta adaptacao...

 

Acredito que a solucao esteja em uma querry em 2 tabelas ao mesmo tempo...

 

O resultado da querry seria essa:

 

PASTA TESTE ABC | arquivo exemplo 1

PASTA TESTE ABC | documento teste

PASTA TESTE ABC | xyz

PASTA TESTE DOIS | abc

PASTA TESTE DOIS | mdf

PASTA TESTE X | arquivo1

PASTA TESTE X | arquivo2

 

Fiz este exemplo para mostrar que estou ordenando os arquivos, porem aparece primeiro todos arquivos da primeira pasta (primeira pasta no resultado da ordenacao por ordem alfabetica das pastas), depois mostro os arquivos da segunda pasta... e assim vai...

 

algum sabe como fazer, pode me dar uma dica?

 

obrigado!!

renato

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá renatoraioz beleza...

 

Bom...você já montou uma estrutura da sua SQL? Se já...posta ela aí para ficar melhor a visualização do seu problema, caso não...vamos tentar uma aki pois não entendi muito bem...mas...vamos lá. http://forum.imasters.com.br/public/style_emoticons/default/assobiando.gif

 

Faça algo mais ou menos do tipo:

 

$sql = "SELECT NOME,ARQ_NOME FROM ARQUIVOS, PASTA ORDER BY NOME"
bom...é apenas uma ideia, portanto...tenta aí e posta aki novamente ok. http://forum.imasters.com.br/public/style_emoticons/default/joia.gif

 

Abraços e boa sorte!!! http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

A dúvida está em criar a consulta e não no PHP. Vou mover para o fórum correto.

 

Tópico Movido

PHP http://forum.imasters.com.br/public/style_emoticons/default/seta.gif Mysql

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom dia, tente isso Renato,

 

Supondo que sua tabela de PASTAS se chama pastas e sua tabela de ARQUIVOS se chama arquivos, provavelmente precise adaptar os nomes ao seu banco de dados.

 

select pastas.nome, arquivos.arq_nome from arquivos
inner join pastas on pastas.idpasta = arquivos.idpasta
order by arquivos.arq_nome

 

 

Lembre-se que o inner join retorna resultados apenas se exisir resultados nas duas tabelas, caso tenha arquivos "sem pasta"

Lroque o "inner join" por "left join" e então os arquivos sem pastas irão aparecer na consulta.

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.