-1

我有一个函数,它返回一个从数据库中的值生成的表。该函数以这种格式返回一个表:

 TOTAL  SS      FAI     USER                            RATE
 99     12      87      example.of@mail.com             78
 21     21      0       xxx.zzzzz@domain.com            12
 35     35      0       Unknown address                 16
 60     60      0       002154251                       3

这是我使用的功能:

function Table($tab)
{
  echo '<br /><table border ="3">';
  echo '<tr>';

  foreach($tab[0] as $cle=>$val)
  {
    echo "<th>".$cle."</th>";
  }

  echo '</tr>';

  foreach($tab as $cle1=>$line)
  {
    echo '<tr>';

    foreach($line as $cle2=>$val)
    {
      echo '<td>'.$val.'</td>';
    }

    echo '</tr>';
  }

  echo '</table><br />';
}

我想添加一个列"TYPE",其中将写入什么我不会从数据库中获取它。值将通过键入它们来定义。最终得到这样的表:

TYPE    TOTAL   SS      FAI     USER                            RATE
KFT     99      12      87      example.of@mail.com             78
VST     21      21      0       xxx.zzzzz@domain.com            12
LSQ     35      35      0       Unknown address                 16
ALE     60      60      0       002154251                       3
4

2 回答 2

2

你的意思是你想要一列额外的用户输入吗?如果是这样,这可能会有所帮助

function Table($tab){
    echo '<br /><table border ="3">';
    echo '<tr>';
    echo '<th>TYPE</th>';  // extra column heading
    foreach($tab[0] as $cle=>$val){
        echo "<th>".$cle."</th>";
    }
    echo '</tr>';
    foreach($tab as $cle1=>$line){
        echo '<tr>';
        echo '<td><input type="text" name="definedbytypingthem[]" value="" /></td>'; // extra column for user input
        foreach($line as $cle2=>$val){
            echo '<td>'.$val.'</td>';
        }
        echo '</tr>';}
    echo '</table><br />';
} 

更新以包括向数据添加另一列

function addcolumn(&$tab, $new_values){
    foreach($tab as $cle1=>$line){
        if(is_array($new_values[$cle1])) {
            $tab[$cle1]=array_merge($line, $new_values[$cle1]);
        }
    }
} 

其中 $new_values 是一个与 $tab 格式相似的数组。
使用 array_merge 将允许一次添加多个列,
但是两个数组的大小应该相同

所以:
$data[0]['TOTAL']
$data[0]['SS']
$data[0]['FAI']
$data[0]['USER']
$data[0]['RATE ']


$newdata[0]['TYPE']

addcolumn($data, $newdata);

将被合并到 $data 中得到:-
$data[0]['TOTAL']
$data[0]['SS']
$data[0]['FAI']
$data[0]['USER' ]
$data[0]['RATE']
$data[0]['TYPE']

于 2013-05-14T11:46:24.673 回答
1
function Table($tab){
    $extraValue = array('KFT','VST','LSQ','ALE');
    echo '<br /><table border ="3">';
    echo '<tr>';
    echo '<th>TYPE</th>';  // extra column heading
    foreach($tab[0] as $cle=>$val){
        echo "<th>".$cle."</th>";
    }
    echo '</tr>';
    $i = 0;
    foreach($tab as $cle1=>$line){
        echo '<tr>';
        echo "<td>".$extraValue[$i]."</td>";
        foreach($line as $cle2=>$val){
            echo '<td>'.$val.'</td>';
        }
        echo '</tr>';
        $i++;
    }
    echo '</table><br />';
}
于 2013-05-14T12:03:15.770 回答