Jump to content
Fórum Script Brasil
  • 0

Filtrar no Select


Ana_Thais

Question

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

Edited by Ana_Thais
Link to comment
Share on other sites

6 answers to this question

Recommended Posts

  • 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.

Edited by Ana_Thais
Link to comment
Share on other 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?

Edited by Ana_Thais
Link to comment
Share on other 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 to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152.2k
    • Total Posts
      652k
×
×
  • Create New...