Php 基于sql查询的条件格式高亮显示表行
编辑 我有一个sql查询,我想用红色高亮显示表行,这样,如果事务日期=0000-00-00,整行都用红色高亮显示。下面是代码片段。事务处理日期显示参加特定培训课程的日期,如果未参加课程,则返回的日期为0000-00-00。任何帮助都将不胜感激。多谢各位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 = "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查询中可能有一种更简单的方法