从左到右将记录插入3列

时间:2014-05-18 10:33:49

标签: php html mysql css loops

制作这种构造的最佳方法是什么,我有许多人名的记录,我需要将它们全部放到3个条带列,每个列巨大的空间之间,所有名称都可以是任意长度,例如< / p>

 |Bob|         |Jonh|         |Victor|
|Sergej|      |Kennedi|       |Mark|
|Antuan|      |Kristina|      |Cryst|

我需要自动将它们全部放到循环中,然后一个接一个地将它们放在

|1|  |2|  |3|
|4|  |5|  |6|
|7|  |8|  |9|

也许有人可以告诉我如何做得更好,现在我创建3 <ul>并且在每个ul我有一些<li>,但这样会显示我的记录另一方面。如果我使用ul我需要计算所有记录,将其除以3,然后在每个ul中加入一些记录,也许有更好的方法?

1 个答案:

答案 0 :(得分:1)

正如@Fabien指出的那样,如果是表格数据,那么你可以在表格中对其进行格式化并使用array_chunk()将它们分组为三个。考虑这个例子:

<?php

$names = array(
    'Bob',
    'John',
    'Victor',
    'Sergej',
    'Kennedi',
    'Mark',
    'Antuan',
    'Kristina',
    'Cryst',
);

$names = array_chunk($names, 3); // group them by three's

?>

<table border="0" cellpadding="10">
    <?php foreach($names as $key => $value): ?> 
    <tr>
        <?php foreach($value as $index => $element): ?> 
            <td><?php echo $element; ?></td>
        <?php endforeach; ?> 
    </tr>       
    <?php endforeach; ?>
</table>