2017-03-18 3 views
1

내 레코드는 다음과 같습니다만약 필드 == null를 표시하지

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

확인하십시오.

$((totalRows_rsOtherServices['subMenuID']) > 0) 대신에 (($row_rsOtherServices) > 0)으로 변경했습니다. 이것은 트릭을했다.

그러나 제안 된대로 while (($row = mysqli_fetch_assoc($rsOtherServices)))...을 사용하면 레코드가있는 경우에도 표시되지 않습니다.

현재로서는 그다지 걱정하지 않을 것이지만 나중에 조사 할 것입니다.

관련 문제