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 親 タイトル 説明
私はこの小さな問題を解決する必要がありますどのように無知だ... if文か何かの上にwhileループA?私を助けてください。
どのデータベースシステム(名前とバージョン)を使用していますか? –
私はMySQLを使用しています5.5.16 – John
MySQLですべてのカテゴリを選択するのは簡単ではないでしょうか?カテゴリツリーをトラバースすることは、MySQLクエリのみを使用することによる苦痛です。 –