2017-04-11 300 views
0

我試圖在PHP中生成表格。使用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> 
'; 

回答

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>'; 
+0

哇哦!有用。謝啦。 –