0

我需要创建一个类似于 apple.com/sitemap 的 HTML 站点地图,其中包含父类别和子类别。我已经创建了两个表:主要类别:

身份证 | 标题 | 网址

子类别为:

ID|Parent_Category_ID|TITLE|URL ...

我如何检索它以使其显示如下内容:

Parent_Category

  • 子猫
  • 子猫

编辑:遵循一些在线建议,所以现在有一张桌子:

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 进行正确放置,但无法显示它。

请帮忙!!

4

1 回答 1

0

这是我用来以正确格式获取数组的函数..

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;
}

有关更多信息,请参阅此帖子:链接

于 2012-07-11T09:47:37.137 回答