为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

PHP
肥皂起泡泡 2021-11-05 15:24:39
我有一个菜单,其中某些页面具有打开下拉菜单的子页面。我有两个 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 } ?>任何帮助表示赞赏!
查看完整描述

1 回答

?
神不在的星期二

TA贡献1963条经验 获得超6个赞

首先,我会Subpage像这样改变课程:


class Subpage {

    public function fetch_all(){

        global $pdo;


        $query = $pdo->prepare("SELECT * FROM subpages");

        $query->execute();


        return $query->fetchAll();

    }


    // Static function: Fetch all subpages of single page

    public static function fetch_all_page($page_id){

        global $pdo;


        $query = $pdo->prepare("SELECT * FROM subpages WHERE page_id = ?");

        $query->bindValue(1, $page_id);

        $query->execute();


        return $query->fetchAll();

    }


    public function fetch_data($subpage_id) {

        global $pdo;


        $query = $pdo->prepare("SELECT * FROM subpages WHERE subpage_id =         

?");

        $query->bindValue(1, $subpage_id);

        $query->execute();


        return $query->fetch();

    }

你的 index.php 将变成:


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


    <?php $subpages = Subpage::fetch_all_page($page['page_id']); ?>


    <button class="dropdown-btn">

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

        <?php if (count($subpages)): ?>

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

        <?php endif; ?>

    </button>


    <div class="dropdown-container">

        <?php foreach ($subpages as $subpage): ?>

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

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

            </a>

        <?php endforeach; ?>

    </div>


<?php } ?>


查看完整回答
反对 回复 2021-11-05
  • 1 回答
  • 0 关注
  • 206 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号