2013-05-14 29 views
-1

我有一個函數返回一個從數據庫中的值生成的表。在從mysql獲得的表中添加標題和字段

TOTAL SS  FAI  USER       RATE 
99  12  87  [email protected]    78 
21  21  0  [email protected]   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  [email protected]    78 
VST  21  21  0  [email protected]   12 
LSQ  35  35  0  Unknown address     16 
ALE  60  60  0  002154251      3 
+0

你想在表函數中添加'動態列'? – NullPointer 2013-05-14 11:37:01

+0

只需在函數'$ userColumn'中添加一個參數並處理它。 – Rikesh 2013-05-14 11:37:19

+2

您的問題不清楚。請詳細說明 – 2013-05-14 11:40:17

回答

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

謝謝! =)爲你提供幫助 – 2013-05-14 12:04:39

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類似格式的數組$標籤。
使用array_merge將使數列在同一時間
加入,但是這兩個數組的大小應該是相同的

所以:
$數據[0] [「總」]
$數據[ 0] [ 'SS']
$數據[0] [ 'FAI']
$數據[0] [ 'USER']
$數據[0] [ 'RATE']


$ newdata [0] ['TYPE']

addcolumn($data, $newdata);

要合併的爲$數據給: -
$數據[0] [ '總']
$數據[0] [ 'SS']
$數據[0] [ 'FAI']
$數據[0] [ '用戶']
$數據[0] [ '率']
$數據[0] [ 'TYPE']

+0

謝謝你幾乎是我需要我認爲我的問題並不清楚,我的意思是通過鍵入他們是在代碼中鍵入他們的TYPE值將永遠同樣的 – 2013-05-14 11:48:56

+0

+1你認爲並以'textbox'的形式實現。但是那麼Kirk ERW'如何將這些值存回DB ?. – NullPointer 2013-05-14 11:49:31

+0

是否意味着你想爲TYPE提供額外的數組值?如果沒有,請解釋行和類型的值之間的鏈接 – Waygood 2013-05-14 11:52:36

相關問題