首页 > 解决方案 > 基于sql查询的条件格式高亮表行

问题描述

已编辑 我有一个 sql 查询,我想用红色突出显示表行,以便如果 transaction_date = 0000-00-00 整行用红色突出显示。这是代码片段。transaction_date 显示了参加特定培训课程的日期,如果没有参加该课程,则返回的日期将为 0000-00-00。任何帮助将不胜感激。谢谢你。

  $sql = "SELECT DATE_FORMAT(date_fluids, '%m/%d/%Y ') AS transaction_date, first_name, last_name, supervisor_group, trade, t_id, c_id, department_number, date_fluids, fluids_refresh, fluid_period, employee_type
        FROM peopleinfo WHERE
        (last_name LIKE '%$value1%' )
        and 
        (trade LIKE '%$value2%')
        and
        (t_id LIKE '%$value3%')
        and
        (c_id LIKE '%$value4%')
        and
        (department_number LIKE '%$value5%')
        and
        (date_fluids LIKE '%$value6%')
        and
        (date_lock LIKE '%$value7%')
        and
        (date_confine LIKE '%$value8%')
        and
        (date_fall LIKE '%$value9%')
        and
        (supervisor_group LIKE '%$value10%')
        AND
        (employee_type='1')
        ORDER BY last_name ASC";






$query = mysqli_query($conn, $sql);

$row = (mysqli_fetch_array($query));    







if (!$query) {
    die ('SQL Error: ' . mysqli_error($conn));
}

while ($row = mysqli_fetch_array($query))
{

        if ($row['transaction_date'] == 0000-00-00){
    echo '<tr class="highlight">';
    echo         '<td >' . $row['first_name']. '</td>';
    echo         '<td >' . $row['last_name']. '</td>';
    echo         '<td >' . $row['supervisor_group']. '</td>';
   echo      '<td >' . $row['trade']. '</td>';
   echo      '<td >' . $row['t_id']. '</td>';
echo         '<td >' . $row['c_id']. '</td>';
   echo      '<td >' . $row['department_number']. '</td>';
    echo         '<td >' . $row['transaction_date']. '</td>';
    echo         '<td >'. $row['fluid_period']. '</td>';
echo '</tr>';
} else {
   echo '<tr >';
    echo         '<td >' . $row['first_name']. '</td>';
    echo         '<td >' . $row['last_name']. '</td>';
    echo         '<td >' . $row['supervisor_group']. '</td>';
   echo      '<td >' . $row['trade']. '</td>';
   echo      '<td >' . $row['t_id']. '</td>';
echo         '<td >' . $row['c_id']. '</td>';
   echo      '<td >' . $row['department_number']. '</td>';
    echo         '<td >' . $row['transaction_date']. '</td>';
    echo         '<td >'. $row['fluid_period']. '</td>';
echo '</tr>';

}  
}
mysqli_free_result($query);
mysqli_close($conn);
?>
 </tbody>
</table>

标签: phphtmlsql

解决方案


我会这样做:

echo '<tr' . ($row['transaction_date'] === '0000-00-00' ? 'class="highlight"' : '') . '>

然后根据需要使用 css 突出显示它。


推荐阅读