Ir para conteúdo

POWERED BY:

Arquivado

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

eronventer

[Resolvido] Exibir registros em colunas

Recommended Posts

Olá pessoal,

 

Utilizo um método clássico para imprimir o resultado de uma pesquisa em 3 colunas, porém as vezes se na consulta encontrou apenas 1 ou 2 registros a terceira coluna não é exibida,

como eu poderia fazer com que sempre fosse exibido as 3 colunas mesmo que as mesmas fiquem vazias?

 

<table border="0" align="center" cellpadding="0" cellspacing="0">
<?php
$coluna = 1;

for ($x=0; $x<$num_mala; $x++)
{
	$arr_mala = $bd->pegaLinha($res_mala);

	if ($coluna == 1)
	{
		echo "\t\t\t<tr>\n";
	}
?>
<td align="left" width="252" height="102">
<?php echo $arr_mala['nome'];?><br>
<?php echo $arr_mala['endereco'];?><br>
<?php echo $arr_mala['bairro'];?><br>
<?php echo $arr_mala['cidade'];?> - <?php echo $arr_mala['estado'];?><br>
<?php echo $arr_mala['cep'];?>
</td>
<?php
	if ($coluna == 3)
	{
		echo "\t\t\t</tr>\n";
       	$coluna = 1;
	}
   	else
   	{
       	$coluna++;      	
   	}
}
?>
</table>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não sei se é a melhor forma, nem se é exatamente isso que você quer... mas fiz um teste aqui e acho que deve funcionar:

 

<table border="0" align="center" cellpadding="0" cellspacing="0">
<?php
       $coluna = 1;

       // Inicializo a variavel em 1
       $result = 1;

       for ($x=0; ($x<$num_mala || $result <> 0); $x++)
       {
               $arr_mala = $bd->pegaLinha($res_mala);

               // Calculo a qtde de colunas por linha
               $result = ($x+1)%3;
               if ($coluna == 1)
               {
                       echo "\t\t\t<tr>\n";
               }
?>
<td align="left" width="252" height="102">
       <?php echo $arr_mala['nome'];?><br>
       <?php echo $arr_mala['endereco'];?><br>
       <?php echo $arr_mala['bairro'];?><br>
       <?php echo $arr_mala['cidade'];?> - <?php echo $arr_mala['estado'];?><br>
       <?php echo $arr_mala['cep'];?>
</td>
<?php
               if ($coluna == 3)
               {
                       echo "\t\t\t</tr>\n";
               $coluna = 1;
               }
       else
       {
               $coluna++;              
       }
}
?>
</table>

 

acredito que isso resolva ou pelo menos clareie um pouco.

 

flw

Compartilhar este post


Link para o post
Compartilhar em outros sites

uuma vez precisei fazer isso para uma galeria,

se te ajudar segue o codigo

 

$total = mysql_num_rows($galeria);
$colunas = "5";
$linhas = $total/$colunas;
echo "<table align='left' border='0'>";
for ($l = 0; $l < $linhas; $l++ ) {
echo "<tr valign=\"top\" align=\"left\">";
  if ($total > 0) {
	for ($i = 0; $i < $colunas; $i++) {
		$gal = mysql_fetch_array($galeria);
			if ($gal['gl_id'] <> NULL ) {
				echo "<td width=\"120\" ><div class=\"img-galeria\">";
				echo "<a href=\"".$gal['gl_src']."\" target=\"_blank\">";
				echo "<img src=\"".$gal['gl_src']."\" width=\"118px\" height=\"100\" />";
				echo "</a>";
				echo "</div></td>";
			}
	}
echo "</tr>";
  }
}
echo "</table>"; ?>

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.