将CSS类应用于动态表数据

时间:2011-12-13 04:26:32

标签: php css dynamic

我有一个MySQL数据库,其中有35个不同的列,标记为1-35。数据显示在动态表格中。我正在寻找允许我根据内部返回的内容将CSS类应用于特定单元格的PHP代码。

示例:第1列可以返回TRUE或FALSE值。如果返回TRUE值,我想为该单元格赋予不同的背景颜色,或者突出显示它。

我有CSS类:

.highlight {
background-color: #FC0;
}

然后将CSS类应用于第1-35列的特定单元格之后,我希望PHP代码可以总计标记为TOTAL的列中突出显示的单元格数。

似乎无法找到将所有这些结合在一起的PHP代码。如果有人可以提出建议,我将非常感激。

1 个答案:

答案 0 :(得分:0)

<td class="<?php if ($row['item'] == TRUE)
{
    echo 'highlight';
    $highlights++;
}
else
{
    echo 'no_highlight';
}
?>"><?php echo $row['item'];?></td>

然后......

<td id="totalHighlights"><?php echo $highlights;?></td>

编辑:示例代码......

<?php

//We've queried the database and passed the results into $result via mysql_fetch_assoc().

while ($row = $result)
{
    //Clear highlights and values arrays for each row.
    $highlights = array();
    $values = array();
    foreach($row as $entry)
    {
        if ($entry == TRUE)
        {
            //Put a truthy value into highlights array.
            array_push($highlights, 1);
        }
        else
        {
            //Put a falsey value into highlights array.
            array_push($highlights, 0);
        }

        //Push actual field value to values array.
        array_push($values, $entry);
    }
    echo '<tr class="row">';

    //Create cell with total highlights per row using the array_sum() of highlights.
    echo '<td class="row_total_highlights">'.array_sum($highlights).'</td>';

    //Create each value cell and populate them with each field value from values array.
    $i = 0;
    foreach ($values as $value)
    {
        echo '<td class="entry ';
        echo ($highlights[$i] == 1 ? 'trueClass' : 'falseClass');
        echo '">'.$value.'</td>';
        $i++;
    }
    echo '</tr>';
}