gpt4 book ai didi

php - while 内多次中断和返回重复

转载 作者:行者123 更新时间:2023-11-30 21:31:01 24 4
gpt4 key购买 nike

我不是新来的,但我也不问问题,因为每当我遇到问题时,我都会在论坛或博客中找到相关问题的解决方案,但我没有成功解决这个问题。

在一个数据库中,我有相关的帖子和​​类别表,在单个 MySQL 查询中,我在其类别中显示帖子的标题。到目前为止一切顺利,一切正常。但是在 while 循环结构中,带有 is-sub 类的标签不能重复。有没有什么办法可以停止这个while的重复,然后再重复一遍?

谢谢你的帮助

echo '
<nav class="navbar">
<ul>';
$sql = Query("SELECT * FROM posts INNER JOIN categories ON post_category = category_id ORDER BY post_category, post_title");

$is_category = NULL;

while ($row = mysqli_fetch_assoc($sql)) :

if ($row['post_category'] != $is_category) {

echo '<li class="has-sub"><a href="#" class="opendown">' . $row['category_title'] . '</a>';

$is_category = $row['post_category'];

}
// stop loop
echo '<ul class="is-sub">';
// return loop
echo '<li><a href="?doc=' . $row['post_id'] . '">' . $row['post_title'] . '</a></li>';
// stop loop
echo '</ul>';
// return loop
echo '</li>';

endwhile;
echo '
</ul>
</nav>';

最佳答案

如果我理解您正在尝试做什么,我认为下面的代码会起作用。如果 is_sub 标签真的只显示一次,那么这可以工作:

<?php
echo '
<nav class="navbar">
<ul>';
$sql = Query("SELECT * FROM posts INNER JOIN categories ON post_category = category_id ORDER BY post_category, post_title");

$is_category = NULL;
$issub = false;
while ($row = mysqli_fetch_assoc($sql)) :

if ($row['post_category'] != $is_category) {

echo '<li class="has-sub"><a href="#" class="opendown">' . $row['category_title'] . '</a>';

$is_category = $row['post_category'];
echo '<ul class="is-sub">';

}
if(!$issub) {
echo '<ul class="is-sub">';
$issub = true;
}
echo '<li><a href="?doc=' . $row['post_id'] . '">' . $row['post_title'] . '</a></li>';
echo '</ul>';
echo '</li>';

endwhile;
echo '
</ul>
</nav>';
?>

关于php - while 内多次中断和返回重复,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56158904/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com