我的while循环不工作,我也有一个while循环在同一个PHP页面,但这一个不工作,我不明白为什么。下面是我的代码:
$posts_query = "SELECT * FROM posts ORDER BY id";
$posts_result = mysqli_query($connection, $posts_query);
<ul class="accordion__wrapper">
<?php while ($post_side = mysqli_fetch_assoc($posts_result)) : ?>
<?php
$category_id = $post_side['category_id'];
$category_query = "SELECT category_name FROM categories WHERE id=$category_id";
$category_result = mysqli_query($connection, $category_query);
$category = mysqli_fetch_assoc($category_result);
?>
<li class="accordion__menu accordion__products-bg">
<button class="accordion__effect accordion__products-btn">
<?= $category['category_name'] ?>
</button>
<div class="accordion__panel accordion__products-list">
<p>
<a href="#articleOne" data-localscroll="true">Artikel 1</a>
</p>
<p>
<a href="#articleTwo" data-localscroll="true">Artikel 2</a>
</p>
<p>
<a href="#articleThree" data-localscroll="true">Artikel 3</a>
</p>
</div>
</li>
<?php endwhile ?>
</ul>
没有显示任何错误,
已经解决了,问题发生了,因为我试图只有一个调用相同的变量。但我认为应该有另一种方法可以简化它
$categories = "SELECT * FROM categories ORDER BY id";$ category = mysqli_query($connection, $ categorories_query);
$side_categories = "SELECT * FROM categories ORDER BY id";$ side_categorories_result = mysqli_query($connection, $ side_categorories_query);
<?php
$no = 1;
while ($category = mysqli_fetch_assoc($categories_result)) : ?>
<button class="product__top-btn products-btn-<?= $no; ?>">
<?= $category['category_name'] ?>
</button>
<?php $no++;
endwhile ?>
<?php $no = 1;
while ($side_category = mysqli_fetch_assoc($side_categories_result))
: ?>
<div class="accordion__menu accordion__products-bg">
<button class="accordion__effect accordion__products-btn">
<?= $side_category['category_name'] ?>
</button>
</div>
<?php $no++;
endwhile ?>