• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

Gonçalo_ssb

Listagem de Imagens

3 mensagens neste tópico

Bom dia,

Estou a tentar efectuar uma listagem de imagens em tabelas HTML utilizando PHP.

Eu preciso de listar nove imagens em que cada linha da tabela tem que ter sempre 3 colunas, mesmo que só existam 2 imagens por exemplo.

Eu comecei assim mas isto não me está a apanhar todos os casos:

while($rs =  $connector->fetchArray())
	   {
			$num_boletins = $num_boletins + 1;

			if($num_boletins==1 or $num_boletins==4 or $num_boletins == 7)
			{
				echo "<tr>";
			}

			echo "
				<td align='left' width='33.3%'>
					<a href='../documentos/".$rs['file_boletim']."' target='_blank' title='Ver Documento'> 
					<img class='imagem_boletim' src='../imagens/".$rs['imagem_boletim']."' alt='' /></a>
					<br /><div align='center' id='pagina_corrente'>".$rs['mes_boletim']." - ".$rs['ano_boletim']."</div>
				</td>";

			if($num_boletins==3 or $num_boletins==6 or $num_boletins == 9)
			{
				echo "</tr>";
			}
		}

Obrigado.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Da maneira que tens, caso a última linha não tenha múltiplo de 3 imagens estás a deixá-la aberta.

$num_boletins = 0;

while($rs =  $connector->fetchArray())
                   {                                
                                if($num_boletins==0)
                                {
                                        echo "<tr>";
                                }
                                
                                echo "
                                        <td align='left' width='33.3%'>
                                                <a href='../documentos/".$rs['file_boletim']."' target='_blank' title='Ver Documento'> 
                                                <img class='imagem_boletim' src='../imagens/".$rs['imagem_boletim']."' alt='' /></a>
                                                <br /><div align='center' id='pagina_corrente'>".$rs['mes_boletim']." - ".$rs['ano_boletim']."</div>
                                        </td>";                               

                                $num_boletins += 1;

                                if($num_boletins==3)
                                {
                                        echo "</tr>";
                                        $num_boletins = 0;
                                }
                        }

// Se o número de boletins for múltiplo de 3, a última linha ficou fechada, e $num_boletins ficou a 0
// Caso contrário:
if($num_boletins > 0)
{
   // Acrescentar colunas até ficarem 3
   for(;$num_boletins <= 3;$num_boletins++)
   {
       echo "<td align='left' width='33.3%'> </td>";
   }

   // Fechar a última linha
   echo "</tr>";
}

Não testei, até pode ter erros, mas penso que a ideia será esta.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora