如果field == null显示,否则不要

时间:2017-03-18 10:57:47

标签: php mysqli dreamweaver

我的记录集是:

mysqli_select_db($KCC, $database_KCC);
$query_rsOtherServices = "SELECT pagecontent.mainMenuID, mainmenu.mainMenuLabel, pagecontent.subMenuID, submenu.subMenuLabel, pagecontent.contentID, pagecontent.contentTitle FROM submenu RIGHT JOIN (mainmenu RIGHT JOIN pagecontent ON mainmenu.mainMenuID = pagecontent.mainMenuID) ON submenu.subMenuID = pagecontent.subMenuID WHERE pagecontent.mainMenuID = 1 AND pagecontent.subMenuID IS NULL";
$rsOtherServices = mysqli_query($KCC, $query_rsOtherServices) or die(mysqli_error());
$row_rsOtherServices = mysqli_fetch_assoc($rsOtherServices);
$totalRows_rsOtherServices = mysqli_num_rows($rsOtherServices);

我用来显示记录的代码是:

<?php do { ?>
<li><a href="familyservices.php?idVal=<?php echo $row_rsOtherServices['contentID']; ?>"><h4><?php echo $row_rsOtherServices['contentTitle']; ?></h4></a></li>
<?php } while ($row_rsOtherServices = mysqli_fetch_assoc($rsOtherServices)); ?>

如果记录存在但是如果没有记录,那么这一切都可以正常工作,那就是一个&#39;链接&#39;可以点击,即使它不可见。

我尝试了<?php if ($totalRows_rsOtherServices['subMenuID'] === Null) { ?><?php if ($totalRows_rsOtherServices['subMenuID'] > 0) { ?><?php if ($totalRows_rsOtherServices['subMenuID'] == true) { ?><?php if ($totalRows_rsOtherServices['subMenuID'] == false) { ?>,但无济于事。

我对编程一无所知,更不了解PHP,所以我甚至不确定我是否朝着正确的方向前进。

我需要摆脱“隐形链接”。

2 个答案:

答案 0 :(得分:2)

由于您使用的是do ... while,因此请仅使用while

尝试

<?php while (($row = mysqli_fetch_assoc($rsOtherServices))) { ?>
    <li>
        <a href="familyservices.php?idVal=<?php echo $row['contentID']; ?>">
            <h4><?php echo $row['contentTitle']; ?></h4>
        </a>
    </li>
<? } ?>

答案 1 :(得分:0)

好的,我已经弄清楚了。

我没有使用$((totalRows_rsOtherServices['subMenuID']) > 0),而是将其更改为(($row_rsOtherServices) > 0)。这就行了。

但是,如果我按照建议使用while (($row = mysqli_fetch_assoc($rsOtherServices)))...,即使有记录,也不会显示。

在这个时刻,我不会为此担心太多,但将来会对此进行调查。