使用PHP

时间:2017-04-11 01:29:06

标签: php html-table

我试图用PHP生成一个表。

我需要这个表有365个单元格。

每行需要包含30个单元格。

请问怎么可能?

实际上,我有:

echo '
    <table class="table">
';

$dates = getDatesFromRange('2017-01-01', '2018-01-01');

$i=1;
$limit=30;

// $dates contains an array of 365 dates
foreach($dates as $date){

    if($i <= $limit) {
        echo '<td width="20">'.-.'</td>';
        $i++;
    }
    else {
        echo '<tr><td width="20">'.-.'</td></tr>';
        $i=1;
    }
}

echo '
    </table>
';

1 个答案:

答案 0 :(得分:0)

使用嵌套循环:

$cells_per_row = 30;
$rows = ceil(count($dates)/$cells_per_row);

echo '<table class="table">';
for($i=0;$i<$rows;$i++){
    echo '<tr>';
    for($u=0;$u<$cells_per_row;$u++){
        if(!isset($dates[$i*$cells_per_row+$u])) // stop if end of array is reached
        break;
        echo '<td width="20">'.$dates[$i*$cells_per_row+$u].'</td>';
    }
    echo '</tr>';
}
echo '</table>';