Ir para conteúdo

POWERED BY:

Arquivado

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

stview

Como manipular o numero de loops?

Recommended Posts

Seguinte, eu fiz um select com limit 6 e pra mostar o resultado usei um while.Na listagem eu uso uma divisão em 3 colunas, logo preciso q se o resultado for menor q seis, que me mostre apenas 3 resultados ...Como eu posso fazer isso sem usar 2 selects?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você precisa 2 colunas como?

 

1 2

3 4

5 6

 

ou

 

1 4

2 5

3 6

 

Bom, vo explicar o primeiro jeito, se for o outro você troca pro teu uso, mais oque vale é a intenção! =P

 

Tu deve tá fazendo isso em uma tabela né?

então:

PHP

[*]<?php

[*]echo "<table><tr>";

[*]$i = 0;

[*]while(CONDICAO DO WHILE){

[*]  if($i == 1){

[*] echo "</tr><tr>";

[*] $i = 0;

[*]  }else{

[*] $i++;

[*]  }

[*]  echo "<td>registro aqui</td>";

[*]}

[*]echo "</tr></table>";

[*]?>

[*]

 

Entendeu?

Quando chegar a 2ª coluna ele faz uma quebra de linha da tabela e inicia a nova tabela, assim vai listar em colunas...

Compartilhar este post


Link para o post
Compartilhar em outros sites

São 3 colunas.Se o resultado for 6, mostre tudo, se for menor q seis me mostre apenas 3.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Claro .. se tiver apenas 5 registros que atendam as exigencias .. O limit serve pra limitar em ATÉ x registros, não em exatos x.

Compartilhar este post


Link para o post
Compartilhar em outros sites

é o seguinte...

utilize o mysql_num_rows...

 

+ou- assim

PHP

[*]if(mysql_num_rows($query)<6 ) $max_rows=1; else $max_rows=2;

 

depois verifique o máximo de linha de de break no loop

 

PHP

[*]$row = 1;

[*]$col =1;

[*]echo "<tr>";

[*]while($registros = mysql_fetch_array($query)){

[*]  echo "<td> coluna $col, linha $row </td>";

[*]  if ($col==3){

[*] $col=1;

[*] echo "</tr>";

[*] $row++;

[*] }else $col++;

[*] if($row == $max_rows) break;

[*] else echo "<tr>"

[*]}

[*]echo "</tr>";

[*]

 

Espero ter ajudado...

Senshi http://forum.imasters.com.br/public/style_emoticons/default/joia.gif

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.