Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/286.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 基于sql查询的条件格式高亮显示表行_Php_Html_Sql - Fatal编程技术网

Php 基于sql查询的条件格式高亮显示表行

Php 基于sql查询的条件格式高亮显示表行,php,html,sql,Php,Html,Sql,编辑 我有一个sql查询,我想用红色高亮显示表行,这样,如果事务日期=0000-00-00,整行都用红色高亮显示。下面是代码片段。事务处理日期显示参加特定培训课程的日期,如果未参加课程,则返回的日期为0000-00-00。任何帮助都将不胜感激。多谢各位 $sql = "SELECT DATE_FORMAT(date_fluids, '%m/%d/%Y ') AS transaction_date, first_name, last_name, supervisor_group, trade,

编辑 我有一个sql查询,我想用红色高亮显示表行,这样,如果事务日期=0000-00-00,整行都用红色高亮显示。下面是代码片段。事务处理日期显示参加特定培训课程的日期,如果未参加课程,则返回的日期为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>
我只想:

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

然后使用css以您想要的方式突出显示它。

您在哪里尝试这样做?我们需要看看你做了什么,结果如何,才能知道你哪里出了问题。尼克,你自己试试。没那么复杂。在表行中添加一个条件和一些css样式。我不必说,但要准备好查询,以防止姓“%$value1%”@BaranselA出现在何处。只要使用准备好的语句和绑定参数,使用mysqli绝对没有错。简单地使用PDO而不是mysqli并不能神奇地消除OP的注入漏洞。我自己也尝试过这样做,我想出了一个if-else语句,但它要求我每隔一页更改一次,而不是我认为只添加一行代码。当我使用if-else语句时,它起作用了,但我认为在sql查询中可能有一种更简单的方法