php - 当 table1.id=table2.id 时,我如何打印一件事,而另一件事是“if else”?
问题描述
我有一个菜单,其中一些页面有打开下拉菜单的子页面。
我有两个 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 } ?>
任何帮助表示赞赏!
解决方案
首先,我会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 } ?>
推荐阅读
- java - 在 jooq 的条件表达式中使用自定义数据类型
- maven - 为什么 SonarScanner for Maven 会跳过除根项目之外的所有项目
- reactjs - rtk 查询突变被拒绝
- wordpress - 等待meetlookup.com
- webpack - 如何将来自 node_modules 的 KaTeX CSS 捆绑到来自 Webpack 中的 SASS @use 条目的单个输出 CSS?
- amazon-web-services - YAML_FILE_ERROR 消息:需要批量 yaml 定义
- facebook - 使用 sdk python 回复所有消息页面 facebook
- google-apps-script - 从单元格数据创建日历事件
- android - 无法通过adb获取Android App的进程id
- flutter - 创建颤振自定义画笔类型