Php 如何为Sitemap.html创建分层链接
我需要创建一个类似于apple.com/sitemap的HTML站点地图,其下有父类别和子类别。我创建了两个表: 主要类别: ID | TITLE | URL 分类如下: ID |父项|类别| ID |标题| URL 如何检索它以使其显示以下内容: 父类 Sub_猫 Sub_猫 编辑: 根据一些在线建议,现在有一个表:Php 如何为Sitemap.html创建分层链接,php,sitemap,Php,Sitemap,我需要创建一个类似于apple.com/sitemap的HTML站点地图,其下有父类别和子类别。我创建了两个表: 主要类别: ID | TITLE | URL 分类如下: ID |父项|类别| ID |标题| URL 如何检索它以使其显示以下内容: 父类 Sub_猫 Sub_猫 编辑: 根据一些在线建议,现在有一个表: ID Parent Name URL 1 0 Parent1 URL1 2 0
ID Parent Name URL
1 0 Parent1 URL1
2 0 Parent2 URL2
3 1 Sub1 URL3
4 0 Parent3 URL4
5 2 Sub2 URL5
下面是代码,我可以使用它生成带有子类别的类别数组
<?php
include('config.php');
echo '<pre>';
$categories = Sitemap::getTopCategories();
print_r($categories);
echo '</pre>';
class Sitemap
{
public static function getTopCategories()
{
return self::getCategories('parent = 0');
}
public static function getCategories($where = '')
{
if ($where) $where = " WHERE $where";
$result = mysql_query("SELECT * FROM testing $where");
$categories = array();
while ($category = mysql_fetch_array($result)){
$my_id = $category['id'];
$category['children'] = Sitemap::getCategories("parent = $my_id");
$categories[] = $category;
}
mysql_free_result($result);
return $categories;
}
}
?>
现在,我必须遵循以下步骤,以便它能够像apple.com/sitemap一样以正确的方式显示。我已经准备好使用CSS进行适当的放置,但是无法显示它
请帮忙 下面是我用来获取正确格式数组的函数
有关更多信息,请参阅此帖子:@Event\u Horizon:我已经更新了更改,请仔细查看,并请帮助我。请更具体一些。而不是向我们展示一堆脚本。如何以和的层次顺序显示生成的数组。以下是指向生成数组的链接以及我希望它的显示方式:
function outputCategories($categories, $startingLevel = 0)
{
foreach ($categories as $key => $category)
{
if (count($category['children']) > 0)
{
echo '<li><a title="'.$category['name'].'" href="'.$category['url'].'">'.$category['name'].'</a><ul>';
outputCategories($category['children'], $startingLevel+1);
echo "</li>";
}
else
{
echo '<li><a title="'.$category['name'].'" href="'.$category['url'].'">'.$category['name'].'</a></li>';
}
}
echo "</ul>";
return self;
}