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