由于某些原因,我的ul和lis根据我的代码没有正确匹配。不太清楚为什么。我试过将它移入和移出循环,似乎没有什么是正确的。
http://kansasoutlawwrestling.com/site-map
<?php
if((isset($categoriesArray)) AND ((!empty($categoriesArray))||($categoriesArray !== NULL)))
{
if(count($categoriesArray) <= 0)
{
echo "There are no content pages on this site!";
}
else
{
if (count($categoriesArray) > 0)
{
foreach ($categoriesArray as $row)
{
echo "<h2>".stripslashes($row['name'])."</h2>";
echo "<ul>";
if (count($row['children']) > 0)
{
foreach ($row['children'] as $row2)
{
echo "<li><a href=\"".$row2['link_url']."\">".stripslashes($row2['link_name'])."</a></li>";
if (isset($row2['child_pages']) > 0)
{
echo "<ul>";
foreach ($row2['child_pages'] as $row3)
{
echo "<li><a href=\"".$row3['link_url']."\">".stripslashes($row3['link_name'])."</a></li>";
}
echo "<ul>";
}
}
}
echo "</ul>";
}
}
}
}
else
{
echo "There are no content pages on this site!";
}
?>
答案 0 :(得分:3)
1)你有一个错字:
echo "<ul>";
foreach ($row2['child_pages'] as $row3)
{
echo "<li><a href=\"".$row3['link_url']."\">".stripslashes($row3['link_name'])."</a></li>";
}
echo "<ul>";
最后一个回应应该是“&lt; / ul&gt;”。
2)即使修正了错字,你也有&lt; ul&gt;&lt; li&gt;&lt; / li&gt;&lt; ul&gt;&lt; li&gt;&lt; / li&gt;&lt; / ul&gt;&lt; / ul&gt;嵌套。内部&lt; ul&gt;元素应嵌套在额外的&lt; li&gt;中。元素,你可以通过在我复制的行中的第一个和第三个回声中添加li开始和结束标记来完成。
答案 1 :(得分:0)
echo "<ul>";
foreach ($row2['child_pages'] as $row3)
{
echo "<li><a href=\"".$row3['link_url']."\">".stripslashes($row3['link_name'])."</a></li>";
}
echo "<ul>"; <---------------- <ul> -> </ul> this should be a closing ul