2017-03-18 14 views
1

ない場合:フィールドは==他のヌルディスプレイは私のレコードはありません

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)); ?> 

この場合、すべてが正常に動作しますレコードは存在しますが、レコードがない場合は、表示されていなくてもクリックするための 'リンク'があります。

私は試しましたが、<?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

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

正しい。おそらく 'foreach'がどのように見えるかのコードを追加してください。 – trincot

+1

申し訳ありませんが、私は間違いないと思います。 –

+0

これを使用すると、表示するレコードがあっても何も表示されません。実際には、最後の行の ''のためにエラーが発生します。私が ''に変更すると、エラーは取り除かれます。 – MartySmartyPants

0

を試してみてくださいOK、私はそれを考え出しました。

$((totalRows_rsOtherServices['subMenuID']) > 0)の代わりに(($row_rsOtherServices) > 0)に変更しました。これはトリックでした。

ただし、私はwhile (($row = mysqli_fetch_assoc($rsOtherServices)))...を推奨として使用すると、レコードがあっても表示されません。

私はそれについて多くを心配するつもりはありませんが、将来これを調査します。

関連する問題