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

Filtrar no Select


Ana_Thais

Pergunta

Olá,

Tenho 16 imagens agrupadas em grupos de 4.

nomeImgs:

1 - 5 - 9 - 13

2 - 6 - 10 - 14

3 - 7 - 11 - 15

4 - 8 - 12 - 16

Queria puxar do banco - para o admin - as imagens dessa forma para apresentar agrupadas e com os comandos alterar, excluir...

Há como eu fazer um SELECT apenas e filtrar as 4 vezes? Achei errado ter que fazer 4 SELECT para conseguir isso.

Alguém pode ajudar?

Para esclarecer: tenho no banco um campo chamado "grupo(gr1/gr2/gr3/gr4), então através de um GROUP BY consigo apresentaras imgs agrupadas. A dúvida é fazer isso pelo SELECT e uma vez.

Obg

Editado por Ana_Thais
Link para o comentário
Compartilhar em outros sites

6 respostass a esta questão

Posts Recomendados

  • 0
Qual a estrutura que você criou?

Coloque o comando do Create table para ser mais facil de ajudar

============================================================================================

Eu deletei a tabela por estar refazendo outras exigências... Mas, a tabela em si é uma tabela basica:

id - caminho-foto - foto - grupoImgs

1 - img/ - 13.jpg - gr1

2 - img/ - 1.jpg - gr1

3 - img/ - 5.jpg - gr1

4 - img/ - 9.jpg - gr1

id - caminho-foto - foto - grupoImgs

5 - img/ - 14.jpg - gr2

6 - img/ - 2.jpg - gr2

7 - img/ - 6.jpg - gr2

8 - img/ - 10.jpg - gr2

...

Estão cadastradas na mesma ordem em que são apresentandas num slide(4 em 4)).

<table width="22%" border="1" style="float:left; margin-left:6%;">

<?php

$sqlt = mysql_query("SELECT * FROM tbl_index WHERE ind_grupo_slide = gr1");

while($ln=mysql_fetch_array($sqlt)){

echo '<tr><td>';

echo '<img src="'.$ln['ind_caminho_foto'].$ln['ind_foto'].'" width=57" height="100" hspace="0" border="1" />';

echo '</td>';

echo '<td><a href="../site/img/upload.php?funcao=alterar&id='.$ln['ind_id].'">Alterar</a></td>';

echo '<td><a href="../site/img/upload.php?funcao=excluir&id='.$ln['ind_id'].'">Excluir</a></td>';

echo '</tr>';

}

?>

</table>

Para puxar do bd, posso fazer, usando um "SELECT...WHERE grupoImgs = gr1".

A questão é que tenho que fazer outras 3x para puxar os grupos de imagens 2,3 e 4 e queria saber se é possível fazer um SELECT obtendo as 4 consultas de uma vez.

Editado por Ana_Thais
Link para o comentário
Compartilhar em outros sites

  • 0

Desculpa. Dei uma editada enquanto você mandava seu post.

Pois então, funciona sim, mas, na hora de apresentar, por causa do While, vem tudo junto.

Visualmente eu precisaria de 4 tabelas, por exemplo, uma ao lado da outra listando as 4 imagens de cada grupo do select.

O problema se insere na questão visual e na questão de "achar" que talvez seja possível fazer isso, evitando 4 Selects, pois são 4 condições. Do jeito que está no meu código tenho que fazer 4x o select. Só é possível fazendo 4x a consulta?

Editado por Ana_Thais
Link para o comentário
Compartilhar em outros sites

  • 0
Acho que não seja possível pelas 4 condições.

Queria reduzir o código com as chamadas ao banco.

Obrigada pela atenção Jorge.

Amadores. :angry:

Tenta ai:

SELECT grupoImgs, GROUP_CONCAT(foto)
FROM tbl_index 
GROUP BY grupoImgs

Estudem o manual do Mysql da versão que vocês usam. Tem um capítulo inteiro sobre funções.

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
      152,1k
    • Posts
      651,7k
×
×
  • Criar Novo...