我有带有 MYSQL 数据库的 PHP 代码,其中代码获取并选择所需的值并将其显示在表格中。
我需要的是在显示之前进行检查,如果变量为空则不显示在表格中。
为此,我使用了 if 语句,但它不起作用。
代码:
$sql = $wpdb->prepare("select i.siteID
, i.siteNAME
, i.equipmentTYPE
, c.latitude
, c.longitude
, c.height
, o.ownerNAME
, o.ownerCONTACT
, x.companyNAME
, y.subcontractorCOMPANY
, y.subcontractorNAME
, y.subcontractorCONTACT
from site_info i
LEFT
JOIN owner_info o
on i.ownerID = o.ownerID
LEFT
JOIN company_info x
on i.companyID = x.companyID
LEFT
JOIN subcontractor_info y
on i.subcontractorID = y.subcontractorID
LEFT JOIN site_coordinates2 c
on i.siteID=c.siteID
where
i.siteNAME = %s
AND
o.ownerID = %d
AND
x.companyID = %d
",$site_name,$owner_name,$company_name);
$query_submit =$wpdb->get_results($sql, OBJECT);
echo "<br>";
echo "<br>";
foreach ($query_submit as $obj) {
echo "<table class='t1' width='30%'> ";
echo "<tr>";
echo "<th>Site ID</th>";
echo "<th>Site Name</th>";
echo "<th> Lattitude</th>";
echo "<th>Longitude </th>";
echo "<th>Owner Name</th>";
echo "<th>Company Name</th>";
if(isset ($obj->equipmentTYPE))
{
echo "<th>Equipment Type</th>";
}
else { echo ''; }
if(isset ($obj->ownerCONTACT))
{
echo "<th>Owner Contact</th>";
}
else { echo ''; }
echo "</tr>";
echo "<tr>";
echo "<td>".$obj->siteID."</td>";
echo "<td>".$obj->siteNAME."</td>";
echo "<td>".$obj->latitude."</td>";
echo "<td>".$obj->longitude."</td>";
echo "<td>".$obj->ownerNAME."</td>";
echo "<td>".$obj->companyNAME."</td>";
if(isset ($obj->equipmentTYPE))
{
echo "<td>".$obj->equipmentTYPE."</td>";
}
else { echo ''; }
if(isset ($obj->ownerCONTACT))
{
echo "<td>".$obj->ownerCONTACT."</td>";
}
else { echo ''; }
echo "</tr>";
}
?>
最佳答案
您正在使用 isset()
当您检索值时,$obj
它可能有也可能没有您需要的值,请求的索引将始终设置为它可以为 null 或为空。
您可以使用:
if(!empty($obj->ownerCONTACT))
或者:
if(count($obj->ownerCONTACT) > 0)
关于php - 如何检查php中的变量是否为空以及是否不需要在表中显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44817491/