Условно форматировать значения таблицы HTML - PullRequest
1 голос
/ 19 февраля 2012

У меня есть пользовательское веб-приложение, которое получает данные из базы данных FileMaker и выкладывает их XML -> PHP -> 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>

';

Я хочу условно выделить некоторые из значений в таблице (что я и делаю с этой $ Approve_string), таким образом, если, например, значение Qty5> 0, то сделатьэто красный, иначе сделайте это зеленым.

Я понимаю, как переформатировать таблицу, чтобы правильно использовать CSS, но я не знаю, стоит ли предварительно вычислять значения перед выводом таблицы, как в случае с $ утвержденной_строкой ИЛИ, если я могу / долженпомещать оператор if в мой оператор echo?

1 Ответ

6 голосов
/ 19 февраля 2012

Повторные задачи -> сделать функцию:

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>

';
...