如何在PHP中不显示空值

时间:2017-04-08 02:23:21

标签: php sql

:)你可以帮我不显示空值吗?这是我的代码: eeeeeeee

require 'databasename.php';
if (isset($_GET['id'])) { 
require 'databasename.php';
$id = mysqli_real_escape_string($connect, $_GET['id']);

$sql = "SELECT * FROM `example` WHERE id = '$id'";
$result = $connect->query($sql);

while($data = $result->fetch_assoc()) {

echo "<div id='moveresults'>";

echo "<div id='as'>";
echo $data['As'];
echo "</div>";

echo "<div id='so'>";
    echo $data['SO'];
echo "</div>";


echo "<div id='custom'>";
    if($data['Custom'] != '' || $data['Custom'] != NULL) {
    echo $data['Custom'];   
    }
echo "</div>";

echo "<div id='local'>";
    if($data['Address'] != '' || $data['Address'] != NULL) {
    echo $data['Address'];  
    }
echo "</div>";

echo "<div id='headof'>";
    if($data['Head'] != '' || $data['Head'] != NULL) {
    echo $data['Head']; 
    }
echo "</div>";

echo "<div id='credl'>";
    if($data['Credit'] != '' || $data['Credit'] != NULL) {
    echo $data['Credit'];   
    }
echo "</div>";

echo "<div id='currenta'>";
    echo $data['Current'];
echo "</div>";

echo "<div id='totalex'>";
    echo $data['Exposure'];
echo "</div>";

echo "<div id='termspay'>";
    if($data['Payment'] != '' || $data['Payment'] != NULL) {
    echo $data['Payment'];  
    }
echo "</div>";

echo "<div id='overdue'>";
    echo $data['Overdue'];
echo "</div>";

echo "<div id='pdc'>";
    echo $data['PDC'];
echo "</div>";

echo "<div id='pending'>";
    echo $data['Pending'];
echo "</div>";

echo "<div id='overallex'>";
    echo $data['Overall'];
echo "</div>";

echo "</div>";

}

?>

我试过了!这是我在另一篇文章中看到的,但我认为这是我键入错误的格式或者是另一种方式。再次感谢。

4 个答案:

答案 0 :(得分:0)

使用is_null()

尝试
if(!is_null($data['Custom']))

但是null,空,空白等......是不同的,所以有时你需要相应地检查。

为了让生活更轻松,您可以编写辅助方法

function isNullOrEmpty($value)
{
   return is_null($value) || empty($value) || strlen(trim($value)) === 0;
}

然后使用它

if(!isNullOrEmpty($data['Custom']))

答案 1 :(得分:0)

如果要保留该语法,只需用AND(&amp;&amp;)替换OR条件(||),否则将显示空字符串和NULL(因为它们的值总是不同于上面两个)。

if($data['Custom'] != '' && $data['Custom'] != NULL) {
    // do something
}

但是,你应该避免完全避免这种情况并以下列方式重写你的IF条件(假设你不想显示null和/或空字符串):

if (array_key_exists("Custom", $data) && !empty($data["Custom"])) {
   // do something
}

如果要显示空字符串,而不是NULL值,请尝试使用以下字符串:

if (array_key_exists("Custom", $data) && !is_null($data["Custom"])) {
   // do something
}

答案 2 :(得分:0)

您应该始终检查以确保首先设置变量,然后使用&amp;&amp;运算符以确保它符合所有要求,而不仅仅是一些(||或opperator)。

if(isset($data['Head']) && $data['Head'] != '' && $data['Head'] != NULL) ...

答案 3 :(得分:0)

尝试填充 div语句中的整个if,如下所示:

if($data['Custom'] != '' || $data['Custom'] != NULL) {
  echo "<div id='overdue'>";
     echo $data['Custom'];
  echo "</div>";   
}

当然,您需要应用这个divs