Ir para conteúdo

POWERED BY:

Arquivado

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

diegohamaz1

looping

Recommended Posts

Galera eu queria fazer um looping mas teria que ser desse jeito , vou explicar.

 

tenho uma query:

SELECT tb_l.FOTO1, 
	   tb_l.FOTO2, 
	   tb_l.FOTO3, 
	   tb_l_pdv.NM_REDE, 
	   tb_l_pdv.DS_ENDERECO, 
	   tb_l_pdv.NM_PDV, 
	   tb_l_pdv.NM_CIDADE, 
	   tb_l_pdv.NM_ESTADO, 
	   tb_l.DT_COLETA, 
	   col.NM_COLABORADOR 
	   FROM TB_TABELA AS tb_l , TB_PDV AS tb_l_pdv, TB_COLABORADOR AS col 
	   WHERE  tb_l.NM_CNPJ = tb_l_pdv.NM_CNPJ 
	   and tb_l.NM_CPF = col.NM_CPF 
	   and tb_l.CO_SEQ_TABELA= 1583 
	   and tb_l_pdv.NM_TOKEN = 'TB_CLIENTE01'	

Nessa query pode vim 3 fotos como pode vim só 1, e os outros dados se repetem, como posso fazer um while aonde que só faz o looping pela quantidade que vier de foto e as outras informações se repetem tipo

 

LOOPING

 

FOTO1

REDE1_MESMO

PDV1_MESMO

CIDADE1_MESMO

 

FOTO2

REDE1_MESMO

PDV1_MESMO

CIDADE1_MESMO

 

fim DE LOOPING

 

nesse caso se vier 2 fotos ele fez 2 looping , alguem pode me dar uma dica, pra ficar dinamico de acordo com o que tem no banco...

 

 

agradeço

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se for MySQL, você pode agrupar os valores das fotos, separando por virgula, e usar um explode em PHP

SELECT 
	   tb_l_pdv.NM_REDE, 
	   tb_l_pdv.DS_ENDERECO, 
	   tb_l_pdv.NM_PDV, 
	   tb_l_pdv.NM_CIDADE, 
	   tb_l_pdv.NM_ESTADO, 
	   tb_l.DT_COLETA, 
	   col.NM_COLABORADOR,
	   GROUP_CONCAT(CONCAT(tbl_l.foto1, ',', tbl_l.foto3, ',', tbl_l.foto3) SEPARATOR ',') as fotos

	   FROM TB_TABELA AS tb_l , TB_PDV AS tb_l_pdv, TB_COLABORADOR AS col 
	   WHERE  tb_l.NM_CNPJ = tb_l_pdv.NM_CNPJ 
	   and tb_l.NM_CPF = col.NM_CPF 
	   and tb_l.CO_SEQ_TABELA= 1583 
	   and tb_l_pdv.NM_TOKEN = 'TB_CLIENTE01'
	   GROUP BY 1, 2, 3, 4, 5, 6, 7

Depois

$result = $pdo->query( /* aquela consulta */ );

while( $row = $result->fetch(PDO::FETCH_ASSOC) ) {
   $arrayFotos = preg_split('@,@', $row['fotos'], -1, PREG_SPLIT_NO_EMPTY);
}

ps: mudei o exemplo para preg_split. assim já tira quando o valor for vazio.

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.