2014-07-24 39 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

谢谢,这解决了问题:)非常感谢你 –