循环子类别,子类别等

时间:2012-03-31 20:31:39

标签: php mysql

$sth = $db->query("SELECT * FROM categories WHERE parent = 0");

$sth->setFetchMode(PDO::FETCH_ASSOC);

while ($row = $sth->fetch()) {

   echo $row['title'] . '<br />';

   $sth2 = $db->prepare("SELECT * FROM categories WHERE parent = ?");
   $sth2->bindParam(1, $row['id']);
   $sth2->execute();

   while ($row2 = $sth2->fetch()) {
        echo '..' . $row2['title'] . '<br />';

        $sth3 = $db->prepare("SELECT * FROM categories WHERE parent = ?");
        $sth3->bindParam(1, $row2['id']);
        $sth3->execute();

        while ($row3 = $sth3->fetch()) {
            echo '....' . $row3['title'] . '<br />';
        }
   }


}

正如你所看到的,我在每个循环中都有'硬编码',主要是“主要类别”,“子类别”,最后是子类别。 但是我觉得我可以改变这个,自动循环子类别中的子类别,如果有的话。

我的SQL结构很简单: ID 亲 标题 描述

我无法理解我应该如何解决这个小问题...在if语句或其他什么时候循环?帮助我。

1 个答案:

答案 0 :(得分:0)

如果类别数量不是太大,你可以做什么,从数据库中获取所有类别,然后在php中构建一个多维数组。

有关详细信息,请参阅this question and the answers