0
$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