从数组的doubled回显表

时间:2017-08-24 20:56:10

标签: php html arrays html-table

根据用户选择的选项,可以有不同的数字因此,我创建了一个函数,它将从两个数组生成一个表。第一个具有列标题的名称,第二个具有实际数据。这是我的功能:

function terminalTables ($numCol, $tableName, $data, $colName, $aircraft, $servicePack){

echo '<h3> Tail: '.$aircraft.'<br> Service pack: '.$servicePack.'</h3>';
echo '<table id="'.$tableName.'"  cellpadding="2" cellspacing="2"  style="text-align:center;" class="db-table db-table dTableWidth dataTable no-footer">';
echo '<thead>';
foreach ($colName as $col){
    echo '<th scope="col" style="white-space:nowrap">column:'.$col.'<th>';
}
/*for ($ii = 0; $colName[$ii] != NULL; $ii++){
    echo "<script>alert(\"column name: $colName[$ii]\");</script>";
    echo '<th scope="col" style="white-space:nowrap">'.$colName[$ii].'<th>';
}*/
echo '</thead>';
echo '<tbody>';
for ($iii = 0; $data[$iii] != NULL; $iii++){
    echo '<tr>';
    for ($j = 0; $j < $numCol; $j++){
        echo "<td style='white-space:nowrap; padding-left:1em; padding-right:1em;'>".$data[$iii][$j].'</td>';
    }
    echo '</tr>';
}
echo '</tbody>';
echo '</table>';
exit; }

所有数据都正确显示,但列数在thead

中重复

当我们检查桌头上的元素时,这就是我们得到的:

<table id="datatable" class="db-table db-table dTableWidth dataTable no-footer" style="text-align:center;" cellspacing="2" cellpadding="2">
  <thead>
    <tr>
      <th scope="col" style="white-space:nowrap">column:Event Time</th>
      <th></th>
      <th scope="col" style="white-space:nowrap">column:Event Type</th>
      <th></th>
      <th scope="col" style="white-space:nowrap">column:Rx Bytes Since power on (KB)</th>
      <th></th>
      <th scope="col" style="white-space:nowrap">column:Tx Bytes Since power on (KB)</th>
      <th></th>
      <th scope="col" style="white-space:nowrap">column:Link Start Time</th>
      <th></th>
    </tr>
  </thead>

请注意,在每个实际列的前面,我们有列:NAME。我们总共有五个实际列和5个。因此,我的桌子被完全推到了一边。

picture of the table with yellow highlight on colulmn: and the empty columns

我一直试图调试这个问题太长时间了,现在我的头疼了。我做错了什么?非常感谢你。

1 个答案:

答案 0 :(得分:0)

弄清楚我的错误,我对自己很生气。这是我原来的代码:

echo '<th scope="col" id="terminalTables">'.$col.'<th>';

请注意,在该行的末尾我没有。但是。是的,我是个白痴。 它应该是这样的:

echo '<th scope="col" id="terminalTables">'.$col.'</th>';