循环的子类别,子类别等
问题描述:
$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 />';
}
}
}
正如你所看到的,我已经'硬编码'每个while循环主要是一个“主类别”,“一个子类别”,最后是子类别。 但是我觉得我可以改变它,自动地,循环子类别中的子类别,如果有的话。循环的子类别,子类别等
结构简单我的SQL: ID 父 标题 描述
我无能,我应该怎么解决这个小问题... while循环在if语句的东西?帮帮我。
您使用的是什么数据库系统(名称和版本)? – 2012-03-31 20:34:07
我正在使用MySQL 5.5.16 – John 2012-03-31 20:36:39
用MySQL选择所有类别并不容易,然后用PHP缩小它的范围?仅使用MySQL查询遍历类树是一种痛苦。 – 2012-03-31 20:50:44