我试图在我的数组中进行迭代,并根据常用内容对他们的相对ul进行分组。
预期结果如下
<ul>
<li>b</li>
<li>c</li>
<li>a</li>
<li>g</li>
<li>e</li>
</ul>
<ul>
<li>d</li>
<li>f</li>
<li>i</li>
</ul>
<ul>
<li>d</li>
<li>f</li>
<li>i</li>
</ul>
我尝试过以下代码
<?php
$IMPLODED_trid = 1,2,3,4,5,6 ;
$result=mysqli_query('SELECT * FROM tablegroup where id IN ($IMPLODED_trid)');
while($row=mysqli_fetch_array($result))
{
$name=$row['name'];
?>
<ul>
<li><?php $name ;?></li>
</ul>
<?php
}
?>
但上面的代码给出了以下结果
<ul>
<li>c</li>
</ul>
<ul>
<li>a</li>
</ul>
<ul>
<li>d</li>
</ul>
<ul>
<li>i</li>
</ul>
答案 0 :(得分:0)
你的代码错了。将ul
标记放在while
循环的正文之外。试试这个:
<ul>
<?php
$IMPLODED_trid = 1,2,3,4,5,6 ;
$result=mysqli_query('SELECT * FROM tablegroup where id IN ($IMPLODED_trid)');
while($row=mysqli_fetch_array($result))
{
$name=$row['name'];
?>
<li><?php $name ;?></li>
<?php
}
?>
</ul>
答案 1 :(得分:0)
你想要使用两个循环。
一个外部用于生成<ul>
元素,另一个用于生成<li>
元素 <ul>
此类代码可能如下所示
<?php
$result = []; //grouped by ul ID
for ($i = 1; $i < count($ids); $i++) {
echo '<ul>';
while ($row = $result[$i])
echo '<li>' . $result[$i]['name'] . '</li>';
echo '</ul>';
}
?>
它是有效的PHP,但它不起作用。
这是你正在寻找的结构,因为你需要一个外部循环遍历你需要的<ul>
元素的数量,并且在那个循环中你需要循环遍历列表项本身。 / p>
如果您只有<ul>
个课程,则不需要外部循环。