PHP生成SQL查询,以指示哪些行包含特定列中的文本


PHP to make an SQL query to indicate which rows contain text in specific column?

我有一个表,它正在从SQL数据库中读取,其中包含作业编号、相关客户和机器订单。我在"操作"表中还有一个"注释"列,它有时会包含其他人输入的文本。我需要的是显示某种指示,即文本已输入到特定作业ID和操作的注释列中。

到目前为止,我已经尝试了empty函数,但我认为我没有正确显示查询结果,所以它总是说所有作业都有文本。

以下是相关代码:

$conN = mysqli_connect(DB_HOST, DB_USER);
        if (!$conN) {die('Could not connect: ' . mysqli_error($conN));} // Check Connection
        mysqli_select_db($conN,"jms");
        $jid = $row['jobID'];
        $opn = $row['operation'];
        $highlight = mysqli_query($conN,"SELECT notes FROM operations WHERE jobID=$jid AND operation=$opn");

        if (empty($highlight)) {
            echo "<td style='background-color:blue;'>"."</td>";
        }else{
            echo "<td style='background-color:red;'>"."</td>";
        }

我得到的是所有单元格中的红色,而我只希望"注释"列中包含文本的单元格显示为红色,而空的单元格应该显示为蓝色。

有人能帮忙吗?

将代码替换为this并检查。。。

<?php 
$conN = mysqli_connect(DB_HOST, DB_USER);
if (!$conN) {die('Could not connect: ' . mysqli_error($conN));} // Check Connection
mysqli_select_db($conN,"jms");
$jid = $row['jobID'];
$opn = $row['operation'];
$highlight = mysqli_query($conN,"SELECT notes FROM operations WHERE jobID=$jid AND operation=$opn AND notes !=''");
$rowcount=mysqli_num_rows($highlight);

if(empty($rowcount)) 
{
    echo "<td style='background-color:blue;'>"."</td>";
}
else
{
    echo "<td style='background-color:red;'>"."</td>";
}
?>

要显示"notes"列中包含文本的单元格显示为红色,而空单元格应首先显示为蓝色,需要从结果集中获取数据,然后应用条件

 $rowcount = mysqli_num_rows($highlight);
if ($rowcount > 0) {
    while ($data = mysqli_fetch_array($highlight))
        if (isset($data['notes']) && $data['notes'] != "") {
            echo "<td style='background-color:red;'>" . "</td>";
        } else {
            echo "<td style='background-color:blue;'>" . "</td>";
        }
} else {
    echo "<td style='background-color:blue;'>" . "</td>";
}