如何在 table1.id=table2.id 时打印一件事,而“如果其他”则打印另一件事?

我有一个菜单,其中某些页面具有打开下拉菜单的子页面。


我有两个 SQL 表:


'pages' => page_id, page_name; 

'subpages' => subpage_id, page_id, page_name;


当我通过表单插入子页面时,它们获得与所选父页面相同的 page_id。


问题是,所有菜单元素都显示下拉箭头——即使是那些没有子页面的元素。


仅当页面有子页面时如何打印?这就是我要的:


if pages.page_id=subpages.page_id  

print 

  <button class="dropdown-btn">

    <?php echo $page['page_name']; ?>

    <i class="fa fa-caret-down"></i>

  </button>


else print 

  <a href="#"><?php echo $page['page_name']; ?></a>

索引.php:


<?php foreach ($pages as $page) { ?>


    <button class="dropdown-btn">

      <?php echo $page['page_name']; ?>

      <i class="fa fa-caret-down"></i>

    </button>


    <div class="dropdown-container">

<?php foreach ($subpages as $subpage) { 

  if($subpage['page_id'] == $page['page_id']) {

?>

  <a href="../subpage.php?id=<?php echo $subpage['subpage_id']; ?>">

    <?php echo $subpage['subpage_name']; ?>

  </a>

<?php } } ?>

    </div>


<?php } ?>

任何帮助表示赞赏!


肥皂起泡泡
浏览 207回答 1
1回答

神不在的星期二

首先,我会Subpage像这样改变课程:class Subpage {&nbsp; &nbsp; public function fetch_all(){&nbsp; &nbsp; &nbsp; &nbsp; global $pdo;&nbsp; &nbsp; &nbsp; &nbsp; $query = $pdo->prepare("SELECT * FROM subpages");&nbsp; &nbsp; &nbsp; &nbsp; $query->execute();&nbsp; &nbsp; &nbsp; &nbsp; return $query->fetchAll();&nbsp; &nbsp; }&nbsp; &nbsp; // Static function: Fetch all subpages of single page&nbsp; &nbsp; public static function fetch_all_page($page_id){&nbsp; &nbsp; &nbsp; &nbsp; global $pdo;&nbsp; &nbsp; &nbsp; &nbsp; $query = $pdo->prepare("SELECT * FROM subpages WHERE page_id = ?");&nbsp; &nbsp; &nbsp; &nbsp; $query->bindValue(1, $page_id);&nbsp; &nbsp; &nbsp; &nbsp; $query->execute();&nbsp; &nbsp; &nbsp; &nbsp; return $query->fetchAll();&nbsp; &nbsp; }&nbsp; &nbsp; public function fetch_data($subpage_id) {&nbsp; &nbsp; &nbsp; &nbsp; global $pdo;&nbsp; &nbsp; &nbsp; &nbsp; $query = $pdo->prepare("SELECT * FROM subpages WHERE subpage_id =&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;?");&nbsp; &nbsp; &nbsp; &nbsp; $query->bindValue(1, $subpage_id);&nbsp; &nbsp; &nbsp; &nbsp; $query->execute();&nbsp; &nbsp; &nbsp; &nbsp; return $query->fetch();&nbsp; &nbsp; }}&nbsp;你的 index.php 将变成:<?php foreach ($pages as $page) { ?>&nbsp; &nbsp; <?php $subpages = Subpage::fetch_all_page($page['page_id']); ?>&nbsp; &nbsp; <button class="dropdown-btn">&nbsp; &nbsp; &nbsp; &nbsp; <?php echo $page['page_name']; ?>&nbsp; &nbsp; &nbsp; &nbsp; <?php if (count($subpages)): ?>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <i class="fa fa-caret-down"></i>&nbsp; &nbsp; &nbsp; &nbsp; <?php endif; ?>&nbsp; &nbsp; </button>&nbsp; &nbsp; <div class="dropdown-container">&nbsp; &nbsp; &nbsp; &nbsp; <?php foreach ($subpages as $subpage): ?>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <a href="../subpage.php?id=<?php echo $subpage['subpage_id']; ?>">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <?php echo $subpage['subpage_name']; ?>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </a>&nbsp; &nbsp; &nbsp; &nbsp; <?php endforeach; ?>&nbsp; &nbsp; </div><?php } ?>
打开App,查看更多内容
随时随地看视频慕课网APP