根据是否在列中找到NULL进行显示

问题描述 投票:1回答:1

我有一个每天更新的数据库。我正在尝试创建一个可以在内部查看的网页。我希望它有一个在特定列中未找到NULL值的情况下显示“完成”的列,因为我只需要更新该特定列,而在找到空值时则需要更新“不完整”

所以这是我尝试过的代码片段:

$db = new PDO("sqlite:/var/www/html/dupi/GeoComply_Reported_Since_3_22_18.db");
$Array = array();

print "<table border=10 bordercolorlight=YELLOW bordercolordark=BLUE>";
print "<tr><td><u>Operator</u></td><td><u>Unique DUPIs</u></td><td><u>Total Reports</u></td></tr>";
$result = $db->query('SELECT operator, COUNT(DISTINCT dupi), COUNT(DISTINCT userID), dupi FROM reported GROUP BY operator ORDER BY COUNT(DISTINCT userID) DESC');
foreach($result as $row)
{
  print "<tr><td>".$row['operator']."</td>";
  print "<td>".$row['COUNT(DISTINCT dupi)']."</td>";
  print "<td>".$row['COUNT(DISTINCT userID)']."</td>";
  foreach($row['dupi'] as $rowdata){
 if ($rowdata == "NULL")
  {
    print "<td>InComplete</td>";
  } else {
    print "<td>Complete</td>";
   }
 }  
}
print "</table>";

$db = NULL;

示例输入可能是

Home 2 1 abc
Pancake 4 3 NULL

对于薄煎饼说,行可能看起来很像

Maple abc
Bacon NULL

更新:因此,对于那些好奇的人,我发现了如下所示的解决方法。我知道这不是最好的方法,但我的moto是,如果不解决问题,它是否可以很好地工作。

$db = new PDO("sqlite:/var/www/html/dupi/GeoComply_Reported_Since_3_22_18.db");
print "<table border=10 bordercolorlight=YELLOW bordercolordark=BLUE>";
print "<tr><td><u>Operator</u></td><td><u>Unique DUPIs</u></td><td><u>Total Reports</u></td><td><u>DUPIs to be Filled</u></td></tr>";
$result = $db->query('SELECT operator, COUNT(DISTINCT dupi), COUNT(DISTINCT userID), dupi FROM reported GROUP BY operator ORDER BY COUNT(DISTINCT userID) DESC');

foreach($result as $row)
{

  print "<tr><td>".$row['operator']."</td>";
  print "<td>".$row['COUNT(DISTINCT dupi)']."</td>";
  print "<td>".$row['COUNT(DISTINCT userID)']."</td>";

$sql = "SELECT dupi, COUNT(*) FROM reported WHERE operator = '" .$row['operator'] ."' AND dupi is NULL";

$results = $db->query($sql);
foreach($results as $rows)
{

print "<td>" .$rows['COUNT(*)']. "</td></tr>";
}
}
print "</table>";

$db = NULL;
php html sql
1个回答
-1
投票

而不是检查NULL,您应该检查$ rowdata;

if($ rowdata):打印“完成”;其他:打印“完成”;endif;

问候

© www.soinside.com 2019 - 2024. All rights reserved.