Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Boa tarde pessoal,
Tenho 10 registros em uma tabela(Mysql), gostaria de listar esses registros dividindo-os em dois <li></li>.
Tentei através do while, for, foreach mas não encontrei a logica. alguém poderia me dar uma dica de como posso realizar esse procedimento?
Desde já agradeço a atenção de todos.
Exemplo:
<ul>
<li>
Registro 1
Registro 2
Registro 3
Registro 4
Registro 5
</li>
<li>
Registro 6
Registro 7
Registro 8
Registro 9
Registro 10
</li>
</ul>Você pode deixar o PHP fazer quase tudo por você também usando array_chunk():
$data = array(
'Record #1',
'Record #2',
'Record #3',
'Record #4',
'Record #5',
'Record #6',
'Record #7',
'Record #8',
'Record #9',
'Record #10',
'Record #11',
'Record #12',
'Record #13',
'Record #14',
'Record #15',
'Record #16',
'Record #17',
'Record #18',
'Record #19',
'Record #20',
);
$data = array_chunk( $data, 5 );
array_walk(
$data,
function( $element ) {
printf(
"<ul>\n <li>\n %s\n </li>\n</ul>\n\n",
implode( $element, "\n " )
);
}
);O resultado...
<ul>
<li>
Record #1
Record #2
Record #3
Record #4
Record #5
</li>
</ul>
<ul>
<li>
Record #6
Record #7
Record #8
Record #9
Record #10
</li>
</ul>
<ul>
<li>
Record #11
Record #12
Record #13
Record #14
Record #15
</li>
</ul>
<ul>
<li>
Record #16
Record #17
Record #18
Record #19
Record #20
</li>
</ul>
Caso, porém, o quociente do número de registros pela quantidade de elementos por grupo não seja perfeita, o último grupo será menor, mas acho que você já deva saber disso.Agradeço ao Marcielo e ao Bruno pela ajuda, as duas formas deram certo aqui.
Escolha qual das soluções foi a mais apropriada e marque ela como Resolvida. Não faço isso eu mesmo por questões de ética, já que uma das respostas é minha.
Talvez existam formas melhores, mas..veja:
Utilizei o índice imaginando que ele seja inteiro, bom mas aí caso não seja bastaria criar um contador qualquer para o controle e pronto.. a lógica em si está no módulo (%), apenas verificamos se valor é divisível por 5 por exemplo para fazermos os fechamentos e aberturas de tags..