<?php $numcolunas = 6; $sql = mysql_query("SELECT guia_subcategoria.*, guia_categoria.* FROM guia_subcategoria, guia_categoria WHERE guia_subcategoria.cat_principal = guia_categoria.id"); $total = mysql_num_rows($sql); //Defini a quantidade de linhas antes if($total > 0) { //Depois só verifiquei se era maior que 0 $numPorCol = floor(($total / $numcolunas)); while($dados = mysql_fetch_array($sql)) { $colsDatas['nome_cat'][] = $dados['4']; $colsDatas['nome_subcat'][] = $dados['2']; }//Fecha while //Organiza os dados no array por colunas $h = 0; for($i = 0; $i < $numcolunas; $i++){ $til = $numPorCol + $h; for($h = $h; $h <= $til; $h++){ $colunasDeDados[$i]['nome_cat'][] = $colsDatas['nome_cat'][$h]; $colunasDeDados[$i]['nome_subcat'][] = $colsDatas['nome_subcat'][$h]; } } echo '<table>'; for($i = 0; $i <= $numPorCol; $i++){ echo '<tr>'; for($a = 0; $a < $numcolunas; $a++){ echo '<td><strong>'.$colunasDeDados[$a]['nome_cat'][$i].'</strong><br>'; echo $colunasDeDados[$a]['nome_subcat'][$i].'</td>'; }//Fecha o segundo for echo '</tr>'; }//Fecha o primeiro for echo '</table>'; }?>
Está gerando colunas tudo ok, porém ele gera assim:
Monte seu evento
Buffet
Monte seu evento
Flores
Monte seu evento
Aluguel de mesas
Preciso que ele gere assim:
Monte seu evento
Buffet
Flores
Aluguel de mesas
--------------------------
... e assim por diante, por favor se alguém me der uma luz ficarei grato, a dias estou rodando atrás de uma solução para isto.