Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Pessoal,
Preciso fazer algo que é simples, porem complexo,
Preciso de alguma forma, fazer o php exibir grupos de resultados múltiplos de 3.
Exemplo:
1 - José
2 - Maria 3- Ricardo 4- João
5- Marcelo 6- Marcio 7- paulo - 8- José Jr. 9- André 10- Marcos 11- Vitor 12- Tiago 13- Lucas
Entendendo melhor, resultados nesta estrutura:
1
3
9
27
...
Alguém tem ideia?
Obrigado!
Velho,
Me ajudou muito!
Obrigado demais!
Abusando um pouco,
Você consegue me ajudar a estruturar um HTML desta forma:
<ul>
<li>
<a href="#"><div class="pai">José</div></a>
<ul>
<li>
<a href="#"><div class="uma">Grupo 1</div></a>
<ul>
<li><a href="#"><div class="uma">Marcelo</div></a></li>
<li><a href="#"><div class="uma">Marcio</div></a></li>
<li><a href="#"><div class="uma">paulo</div></a></li>
</ul>
</li>
<li>
<a href="#"><div class="uma">Grupo 2</div></a>
<ul>
<li><a href="#"><div class="uma">José Jr.</div></a></li>
<li><a href="#"><div class="uma">André</div></a></li>
<li><a href="#"><div class="uma">Marcos</div></a></li>
</ul>
</li>
<li>
<a href="#"><div class="uma">Grupo 3</div></a>
<ul>
<li><a href="#"><div class="uma">Vitor</div></a></li>
<li><a href="#"><div class="uma">Tiago</div></a></li>
<li><a href="#"><div class="uma">Lucas</div></a></li>
</ul>
</li>
</ul>
</li>
</ul>
Será que é possível?
Obrigado!
Apanhei um pouco mas acho que consegui...
Usei a função array_splice para remover uma porção do array de cada vez e a cada vez que fizer isso o tamanho (variável $tam) dessa porção é multiplicado por 3:
<?php
// Exemplo: resultado de uma consulta ao banco de dados
$resultado = [
1 => 'José',
2 => 'Maria',
3 => 'Ricardo',
4 => 'João',
5 => 'Marcelo',
6 => 'Marcio',
7 => 'paulo',
8 => 'José Jr.',
9 => 'André',
10 => 'Marcos',
11 => 'Vitor',
12 => 'Tiago',
13 => 'Lucas',
14 => 'Salomão',
15 => 'Santiago',
16 => 'Alonso',
17 => 'Patrícia',
18 => 'Amanda',
19 => 'Antônio',
20 => 'Adolfo',
21 => 'Benjamin',
22 => 'Caio',
23 => 'Daniel',
24 => 'Eduardo',
25 => 'Fernando',
26 => 'Geraldo',
27 => 'Hildebrando',
28 => 'Inês',
29 => 'Janete',
30 => 'Kátia',
31 => 'Leandro',
32 => 'Martina',
33 => 'Natália',
34 => 'Orlando',
35 => 'Pércio',
36 => 'Quico',
37 => 'Rosalinda',
38 => 'Sandra',
39 => 'Tarcila',
40 => 'Zélia'
];
// Grupos
$grupos = [];
// Colocar o primeiro item no primeiro grupo
$grupos[] = array_shift($resultado);
// Partir o array em grupos de tamanhos diferentes, em tamanho de 3
while (count($resultado))
{
array (size=4)