拥有一个数据库,其中包含option1,option2,option3,option4,option5作为列。选项1-3输入了数据,但选项4-5为NULL。
如果数据库中的选项为NULL,我如何设置它以便不显示div?
PHP代码:
$sql = "SELECT option1, option2, option3, option4, option5 FROM options";
$result = mysqli_query($conn, $sql);
$null = NULL;
if (mysqli_num_rows($result) > 0) {
while($row = mysqli_fetch_assoc($result)) {
if ($result != $null) {
echo '<div class="row">' . '<div1></div1>' . '<div2>' . $row["option1"]. '</div2>' . '</div>';
}
else {
echo '<div class="null"></div>';
}
if ($result != $null) {
echo '<div class="row">' . '<div1></div1>' . '<div2>' . $row["option2"]. '</div2>' . '</div>';
}
else {
echo '<div class="null"></div>';
}
if ($result != $null) {
echo '<div class="row">' . '<div1></div1>' . '<div2>' . $row["option3"]. '</div2>' . '</div>';
}
else {
echo '<div class="null"></div>';
}
if ($result != $null) {
echo '<div class="row">' . '<div1></div1>' . '<div2>' . $row["option4"]. '</div2>' . '</div>';
}
else {
echo '<div class="null"></div>';
}
if ($result != $null) {
echo '<div class="row">' . '<div1></div1>' . '<div2>' . $row["option5"]. '</div2>' . '</div>';
}
else {
echo '<div class="null"></div>';
}
...
CSS代码:
.null {
display: none;
}
目前,即使对于选项4-5,div class =“null”也不起作用并且正在显示div class =“row”(height = 70px)但是为空。 感谢。
答案 0 :(得分:1)
您正在将实际查询与null进行比较,而不是将各个列进行比较。
$result = mysqli_query($conn, $sql);
上面的行返回一个mysqli-result对象,而不是行或列 - 在循环中使用你的$row
变量,它保存每一行,就像这样
if ($row['option1'] != null) {
echo '<div class="row">' . '<div1></div1>' . '<div2>' . $row["option1"]. '</div2>' . '</div>';
} else {
echo '<div class="null"></div>';
}
if ($row['option2'] != null) {
echo '<div class="row">' . '<div1></div1>' . '<div2>' . $row["option2"]. '</div2>' . '</div>';
} else {
echo '<div class="null"></div>';
}
请参阅此代码将$row['option1']
与null
进行比较,而不是将$result
与null
进行比较。
如果没有行,你也可以不做任何事情,因为你根本不显示div。
if ($row['option1'] != null) {
echo '<div class="row">' . '<div1></div1>' . '<div2>' . $row["option1"]. '</div2>' . '</div>';
}
if ($row['option2'] != null) {
echo '<div class="row">' . '<div1></div1>' . '<div2>' . $row["option2"]. '</div2>' . '</div>';
}
答案 1 :(得分:0)
我认为这样做会影响到你所追求的目标,尽管我放弃<div1></div1>
- ish标记而只支持<div></div>
。
<?php
$sql = 'SELECT option1, option2, option3, option4, option5 FROM options';
$result = mysqli_query($conn, $sql);
while($row = mysqli_fetch_array($result)) {
foreach($row as $option) {
if (!empty($option)) {
printf('
<div class="row">
<div1></div1>
<div2>%s</div2>
</div>
', $option);
}
}
}