-1

lifor loop にします これで 20 li が狭い順番で表示されます。

<ul>
    <?php for($i=1;$i<=20;$i++) { ?>
        <li>
            <?php echo $i;?>
        </li>
    <?php } ?>
</ul>

すべての列に5つのリストのような列に分割したい

1   6   11   16
2   7   12   17
3   8   13   18
4   9   14   19
5   10  15   20

これを分割するにはどうすればよいですか。どんな提案も素晴らしいでしょう。

前もって感謝します。

4

6 に答える 6

5

単一のリストでそれができるかどうかはわかりません。<ul>ただし、チャンクごとに新しいものを作成できます。

$data = range(1, 20);
$lists = array_chunk($data, 5);

foreach ($lists as $list) {
  echo '<ul>';
  echo '<li>' . implode('</li><li>', $list) . '</li>';
  echo '</ul>';
}

<ul>次に、要素をフロートします。

ul {
  float: left;
}
于 2013-10-16T11:02:12.950 に答える
1
<table>
<?php for($i=1;$i<=20;$i+=5) { ?>
    <tr>
    <?php for($j=0;$j<5;$j++) { ?>
        <td>
            <?php echo $i+$j;?>
        </td>
    <?php } ?>
    </tr>
<?php } ?>
</table>
于 2013-10-16T11:01:30.343 に答える
1

ここに私のサンプルコードがあります。しかし、あなたの方法のリクエストはulタグには無効です

<?php 

for($i=1;$i<=20;$i++) { ?>
    <?php if($i==1) { ?>
    <ul style="float:left">
    <?php } ?>      

    <li>
        <?php echo $i;?>
    </li>

    <?php if($i%5 == 0) { ?>
    </ul>
    <?php if($i != 20)  {?>
        <ul style="float:left">
    <?php } ?>      

    <?php } ?>      
<?php } ?>
于 2013-10-16T11:03:10.960 に答える
1

のモジュラスを確認してください$i % 5。ゼロの場合、現在のリストを終了し、新しいリストを開きます:

echo '<ul>';
for( $i = 1; $i <= 20; $i++ )
{
    echo '<li>';
    echo $i;
    echo '</li>';
    if( $i % 5 == 0 )
    {
        echo '</ul><ul>';
    }
}
echo '</ul>';

次に、リストをスタイルして、横に並べてフローティングします。

于 2013-10-16T11:01:12.303 に答える