2012-02-18 121 views
1

我有一個自定義的Web應用程序,從FileMaker數據庫獲取數據並將其分發出XML-> PHP-> HTML。有條件地格式化HTML表值

目前,我正在生成的表在一個大FOR循環和呼應出來的效果像這樣:

echo ' 
<tr> 
    <td><strong>Qty Approved</strong></td> 
    <td><strong>' . $record['qty1 approved'][0] . '</strong></td> 
    <td><strong>' . $record['qty2 approved'][0] . '</strong></td> 
    <td><strong>' . $record['qty3 approved'][0] . '</strong></td> 
    <td><strong>' . $record['qty4 approved'][0] . '</strong></td> 
    <td><strong>' . $record['qty5 approved'][0] . '</strong></td> 
    <td><strong>' . $record['qty6 approved'][0] . '</strong></td> 
    <td><strong>' . $record['qty7 approved'][0] . '</strong></td> 
    <td><strong>' . $record['qty8 approved'][0] . '</strong></td> 
    <td><strong>' . $record['qty9 approved'][0] . '</strong></td> 
    <td><strong>' . $record['qty10 approved'][0] . '</strong></td> 
    <td><strong>' . $record['qty11 approved'][0] . '</strong></td> 
    <td>'. $approved_string . '</td> 
</tr> 

'; 

我希望有條件地強調一些值的表(這是什麼我用這個$ approved_string做)如果例如qty5批准的值> 0,然後將其設爲紅色,否則將其設爲綠色。

我知道如何重新格式化表格以正確使用CSS,但我不知道的是在與$ approved_string一樣回顯表之前是否預先計算值,或者如果我可以/應該放置我的echo語句中有一個if語句?

回答

6

重複的任務 - >做一個函數:

function highlight_record_value($record, $qty_index) { 
    $value = $record['qty'.$qty_index.' approved'][0]; 
    if ($qty_index == 5) { 
     if ($value > 0) 
      $color = 'red'; 
     else 
      $color = 'green'; 

     return sprintf('<span style="color: %s;">%s</span>', $color, $value); 
    } 

    //anything else you want 

    return $value; 
} 

echo ' 
<tr> 
    <td><strong>Qty Approved</strong></td> 
    <td><strong>' . highlight_record_value($record, 1) . '</strong></td> 
    <td><strong>' . highlight_record_value($record, 2) . '</strong></td> 
    <td><strong>' . highlight_record_value($record, 3) . '</strong></td> 
    <td><strong>' . highlight_record_value($record, 4) . '</strong></td> 
    <td><strong>' . highlight_record_value($record, 5) . '</strong></td> 
    <td><strong>' . highlight_record_value($record, 6) . '</strong></td> 
    <td><strong>' . highlight_record_value($record, 7) . '</strong></td> 
    <td><strong>' . highlight_record_value($record, 8) . '</strong></td> 
    <td><strong>' . highlight_record_value($record, 9) . '</strong></td> 
    <td><strong>' . highlight_record_value($record, 10) . '</strong></td> 
    <td><strong>' . highlight_record_value($record, 11) . '</strong></td> 
</tr> 

'; 
+1

代碼是詩。謝謝! – SWL 2012-02-19 03:28:58