Mailinglisten-Archive |
Guten Abend zusammen. hab mich mal mit rekursiven Abfragen beschäftigt..und ja ich weiss..Nestet Sets sind sicher besser :) Also..ich möchte einen Kategorienbaum mit drei Ebenen und hab dazu folgendes Script gebastelt..so zum Verständnis..und würd gern Meinungen von Profis dazu lesen :) Das Script gibt nur die Kategorien in der entsprechenden Reihenfolge aus...also ohne Menü usw. Ich bin PHP Neuling und über Tips immer aufgeschlossen. Gruss, Trawell <?php require_once('../Connections/conDB.php'); ?> <?php mysql_select_db($database_conDB, $conDB); ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Unbenanntes Dokument</title> </head> <body> <?php /* Erste Abfrage mit Parent ID = 0 , also Hauptkategorien */ $query_maincategories = "SELECT * FROM kategorien WHERE id_parent = 0 ORDER BY id_kategorie ASC"; $maincategories = mysql_query($query_maincategories, $conDB) or die(mysql_error()); $row_maincategories = mysql_fetch_assoc($maincategories); do { echo '<h1>'.$row_maincategories['kategorie'].'</h1><br />'; $zahl = $row_maincategories['id_kategorie']; /* Zweite Abfrage mit Parent ID = aus der ersten Abfrage von id_kategorie */ $query_subcategories = "SELECT * FROM kategorien WHERE id_parent = $zahl ORDER BY id_kategorie ASC"; $subcategories = mysql_query($query_subcategories, $conDB) or die(mysql_error()); $row_subcategories = mysql_fetch_assoc($subcategories); do { echo '<h2>'.$row_subcategories['kategorie'].'</h2><br />'; $zahl = $row_subcategories['id_kategorie']; /* Dritte Abfrage mit Parent ID = aus der zweiten Abfrage von id_kategorie */ $query_subsubcategories = "SELECT * FROM kategorien WHERE id_parent = $zahl ORDER BY id_kategorie ASC"; $subsubcategories = mysql_query($query_subsubcategories, $conDB) or die(mysql_error()); $row_subsubcategories = mysql_fetch_assoc($subsubcategories); do { if (isset($row_subsubcategories['kategorie'])) { echo '<h3>'.$row_subsubcategories['kategorie'].'</h3><br />'; } } while ($row_subsubcategories = mysql_fetch_assoc($subsubcategories)); } while ($row_subcategories = mysql_fetch_assoc($subcategories)); } while ($row_maincategories = mysql_fetch_assoc($maincategories)); ?> </body> </html> <?php mysql_free_result($maincategories); mysql_free_result($subcategories); mysql_free_result($subsubcategories); ?>
php::bar PHP Wiki - Listenarchive