PHP: Separando o resultado por blocos
Não sei se o título seria bem este, mas a idéia é mostrar o resultado, separado por blocos.
No exemplo abaixo, os blocos são divididos quando estiverem com 4 itens.
A grande jogada, está na utilização do operador % (módulo). Este operador trabalha com o resto de uma divisão.
0%4 resto = 0
1%4 resto maior que 0
2%4 resto maior que 0
3%4 resto maior que 0
4%4 resto = 0
5%4 resto maior que 0 e assim por diante
…
8%4 resto = 0
9%4 resto maior que 0
<style type="text/css"> .bloco{ border:1px solid #000;margin-bottom:4px; } </style> |
<? $count = 9; $texto = "texto"; if( $count > 0){ echo "<div id='bloco1' class='bloco'>"; for ($i = 0; $i < $count; $i++) { if($i%4 == 0 && $i != 0) { echo "</div><div id=\"bloco".(($i/4)+1)."\" class='bloco'>"; } echo "<span>".$texto." ".$i."</span><br />"; } echo "</div>"; } ?> |
Resultado:
———–
| texto 0 |
| texto 1 |
| texto 2 |
| texto 3 |
———–
———–
| texto 4 |
| texto 5 |
| texto 6 |
| texto 7 |
———–
———–
| texto 8 |
———–
Muito bom, parabéns, me ajudou muito.
Abraços.
Depois de horas pensando numa boa solução, encontrei essa. Exatamente a solução perfeita para o caso que estou fazendo. Muito obrigado! =)