Kelven 1 Denunciar post Postado Fevereiro 12, 2015 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
Wilson Ferreira 0 Denunciar post Postado Fevereiro 12, 2015 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