PHP 进行 SQL 查询以指示哪些行包含特定列中的文本?

标签 php mysql sql-server mysqli

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

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

相关代码如下:

$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>";
        }

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

有人能帮忙吗?

最佳答案

用这个替换你的代码并检查...

<?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>";
}
?>

关于PHP 进行 SQL 查询以指示哪些行包含特定列中的文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36540120/

相关文章:

java - 如何计算两个 java.sql.Time 值之间的差异?

mysql - 从具有父子关系的留言板中查询最后的 n,15 个主题

c# - 非常慢的 ExecuteNonQuery(存储过程)与使用 SQL Server Management Studio 的快速执行

sql-server - SQL Server : if I don't specify a RECOVERY mode for a RESTORE DATABASE, 默认是什么?

sql-server - 针对同一个表但具有不同ORDER BY的多个SELECT

php - 如何使用 PHP 从 MySQL 获取记录到值对象

javascript - 将文本区域转换为文件 (HTML JQuery AJAX PHP)

php - MediaWiki 安全 : Alternate file ayout

php - 将名字和姓氏添加到 Wordpress 注册表单

java - Oracle中基于rowid的更新