2014-07-24 38 views
0

這是我當前的代碼(和圖像顯示輸出)。我希望表格對齊,值的名稱不斷重複。我怎樣才能做到這一點?PHP中的表格問題

The current OUTPUT

<?php 

$country['ph'] = array('Philippines', 'Manila', '+8'); 
$country['ru'] = array('Russia', 'Moscow', '-4'); 
$ctr = 1; 

foreach ($country as $key => $value) { 

       echo '<table border = "1" >'; 
       echo '<td>No'; 
       echo '<td>Flag'; 
       echo '<td>Code'; 
       echo '<td>Name'; 
       echo '<td>Capital'; 
       echo '<td>Time Zone'; 
       echo '<tr>'; 
       echo '<td>', $ctr++, '</td>'; 
       echo "<td><img src = \"/csnclass/img/flags/$key.png\"/></td>"; 
       echo "<td>$key</td>"; 
       echo '<td>',$value[0], '</td>'; 
       echo '<td>',$value[1], '</td>'; 
       echo '<td>',$value[2], '</td>'; 
       echo '</tr>'; 
       echo '</table>'; 
       } 

?> 

回答

1

目前,您的foreach正在輸出它通過遍歷每個項目<table> - 所以這些表中的表格單元格不會被一字排開,隨着細胞在不同的表沒有關係彼此。同樣,您也要輸出每個表項列的標題。

一個快速的方法來解決這個問題是採取一些echo呼叫foreach循環之外(主要是與表和頭):

// Start table and print out headers 
echo '<table border = "1" >'; 
echo '<tr>'; 
echo '<td>No'; 
echo '<td>Flag'; 
echo '<td>Code'; 
echo '<td>Name'; 
echo '<td>Capital'; 
echo '<td>Time Zone'; 
echo '</tr>'; 

// Print data for each country 
foreach ($country as $key => $value) {   
    echo '<tr>'; 
    echo '<td>', $ctr++, '</td>'; 
    echo "<td><img src = \"/csnclass/img/flags/$key.png\"/></td>"; 
    echo "<td>$key</td>"; 
    echo '<td>',$value[0], '</td>'; 
    echo '<td>',$value[1], '</td>'; 
    echo '<td>',$value[2], '</td>'; 
    echo '</tr>'; 
} 

// End table 
echo '</table>'; 

希望這有助於!如果您有任何問題,請告訴我。

+0

謝謝,這解決了問題:)非常感謝你 –