Ir para conteúdo

Arquivado

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

Kelven

aparecer uma tr por banco de dados

Recommended Posts

Ae galera to precisando de uma ajudinha, olha o código:

    <table width="100%" border="0" cellspacing="0" cellpadding="0">
  <tr>
  <td> </td>
  <?php 
  $query_foto_fim = mysql_query("SELECT * FROM fotos_show");
  while($mostrar_foto = mysql_fetch_array($query_foto_fim)){
  ?>
    <td><img src="../img/<?php echo $mostrar_album["pasta"];?>/<?php echo $mostrar_foto["foto"];?>" width="300" /></td>
    <?php }?>
    <td> </td>
  </tr>
</table>

esse código vai gerar um monte de td enquanto tiver registro no banco de dados, mas preciso q cada vez q chegar a 3 registros que apareça uma tr para que fique um monte de linhas com 3 registros cada uma. Como eu posso fazer isso?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Para fazer isso pode usar um ciclo e uma variável de índice.

Escrevi o seguinte código:

<?php 
$tabela = '';
$query_foto_fim = mysql_query("SELECT * FROM fotos_show");

for($i = 0; $mostrar_foto = mysql_fetch_array($query_foto_fim); $i++){
  $tabela .= '<td><img src="../img/'. $mostrar_album["pasta"] .'/'. $mostrar_foto["foto"] .'" width="300" /></td>';
  
  if($i > 0 && ($i % 3) == 0){
    $tabela .= '</tr><tr>';
  }
}

?>

<table width="100%" border="0" cellspacing="0" cellpadding="0">
  <tr>
    <td> </td>
    <?php echo $tabela; ?>
    <td> </td>
  </tr>
</table>

Dentro do ciclo está uma condição que verifica se o resto de $i dividido por 3 é igual a 0. Quando $i for igual a um múltiplo de 3, o resto da divisão vai ser zero, logo a tag tr anterior é fechada e uma nova é aberta.

Nessa condição também se verifica se $i é maior que zero para que não seja imprimido código html quando $i for igual a 0.

 

Usei uma variável para guardar o código html enquanto o ciclo estiver a ser executado e só no fim imprimir os resultados por uma questão de organização.

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.