vmolina 8 Denunciar post Postado Janeiro 24, 2014 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> Compartilhar este post Link para o post Compartilhar em outros sites
Marcielo 108 Denunciar post Postado Janeiro 24, 2014 Talvez existam formas melhores, mas..veja: echo '<ul>'; foreach ($dados as $i => $dado) { if ($i % 5 == 0) { echo '<li>'; } echo $dado; if ($i == count($dados) - 1 || ($i + 1) % 5 == 0) { echo '</li>'; } } echo '</ul>'; 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.. Compartilhar este post Link para o post Compartilhar em outros sites
Bruno Augusto 417 Denunciar post Postado Janeiro 24, 2014 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. Compartilhar este post Link para o post Compartilhar em outros sites
vmolina 8 Denunciar post Postado Janeiro 24, 2014 Agradeço ao Marcielo e ao Bruno pela ajuda, as duas formas deram certo aqui. Compartilhar este post Link para o post Compartilhar em outros sites
Bruno Augusto 417 Denunciar post Postado Janeiro 24, 2014 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. Compartilhar este post Link para o post Compartilhar em outros sites