hallo zusammen,
ich habe folgende tabelle für einen kleinen shop
CREATE TABLE `kategorie` (
`id` int(11) NOT NULL auto_increment,
`tiefe` int(11) NOT NULL default '0',
`zeiger` int(11) NOT NULL default '0',
`anlagedatum` int(11) NOT NULL default '0',
`aktiv` int(11) NOT NULL default '0',
`beschreibung` varchar(100) NOT NULL default '',
PRIMARY KEY (`id`)
) TYPE=MyISAM AUTO_INCREMENT=8 ;
INSERT INTO `kategorie` VALUES (1, 1, 0, 0, 1, 'Monitor');
INSERT INTO `kategorie` VALUES (2, 1, 0, 0, 1, 'Gehäuse');
INSERT INTO `kategorie` VALUES (3, 1, 0, 0, 1, 'Eingabegeräte');
INSERT INTO `kategorie` VALUES (4, 2, 1, 0, 1, 'CRT');
INSERT INTO `kategorie` VALUES (5, 2, 1, 0, 1, 'TFT');
INSERT INTO `kategorie` VALUES (6, 1, 0, 0, 1, 'Tastatur');
INSERT INTO `kategorie` VALUES (7, 2, 4, 0, 1, '17');
die spalte tiefe ist die verschachtelungstiefe, die spalte zeiger zeigt auf kategorie.id
mit folgendem codeschnipsel wollte ich nun ein menu stricken, das sich aus- und einklappt, aber es klappt nicht so, wie ich das will
viellleicht kann mir hier einen die eingebung ins hirn nageln, wo mein denkfehler ist.
vorab many thx
megle
ich habe folgende tabelle für einen kleinen shop
CREATE TABLE `kategorie` (
`id` int(11) NOT NULL auto_increment,
`tiefe` int(11) NOT NULL default '0',
`zeiger` int(11) NOT NULL default '0',
`anlagedatum` int(11) NOT NULL default '0',
`aktiv` int(11) NOT NULL default '0',
`beschreibung` varchar(100) NOT NULL default '',
PRIMARY KEY (`id`)
) TYPE=MyISAM AUTO_INCREMENT=8 ;
INSERT INTO `kategorie` VALUES (1, 1, 0, 0, 1, 'Monitor');
INSERT INTO `kategorie` VALUES (2, 1, 0, 0, 1, 'Gehäuse');
INSERT INTO `kategorie` VALUES (3, 1, 0, 0, 1, 'Eingabegeräte');
INSERT INTO `kategorie` VALUES (4, 2, 1, 0, 1, 'CRT');
INSERT INTO `kategorie` VALUES (5, 2, 1, 0, 1, 'TFT');
INSERT INTO `kategorie` VALUES (6, 1, 0, 0, 1, 'Tastatur');
INSERT INTO `kategorie` VALUES (7, 2, 4, 0, 1, '17');
die spalte tiefe ist die verschachtelungstiefe, die spalte zeiger zeigt auf kategorie.id
mit folgendem codeschnipsel wollte ich nun ein menu stricken, das sich aus- und einklappt, aber es klappt nicht so, wie ich das will
![dontknow](https://www.php-resource.de/forum/core/images/smilies/fragend013.gif)
viellleicht kann mir hier einen die eingebung ins hirn nageln, wo mein denkfehler ist.
vorab many thx
megle
PHP-Code:
<?
include "zentrale/head.php";
?>
</head>
<body class="show">
Verlinkung<br><br><br>
<a href="abfragen.php">Abfragen</a><br><br>
<?
$aktTiefe = $_GET[aktTiefe];
$aktId = $_GET[id];
if( !isset($aktTiefe) ){
$aktTiefe = 1;
}
function unterKategorie(){
global $MySql_kategorie , $aktId , $aktTiefe;
$neueTiefe = func_get_arg(0);
$neueId = func_get_arg(1);
if ( $aktTiefe == $neueTiefe && $aktId == $neueId ) {
echo "abfrage<br><br>";
$sqlbefehlunter = "SELECT * FROM $MySql_kategorie ";
$sqlbefehlunter .= "WHERE zeiger = $neueId ";
$sqlbefehlunter .= "AND tiefe = $neueTiefe ";
$abfrageunter = mysql_query($sqlbefehlunter);
$anzahlunter = mysql_num_rows($abfrageunter);
for( $x = 0 ; $x < $anzahlunter ; $x++ ){
$idunter = mysql_result( $abfrageunter , $x, "id");
$naechsteTiefe = mysql_result( $abfrageunter , $x, "tiefe");
$naechsteTiefe++;
$zeigerunter = mysql_result( $abfrageunter , $x, "zeiger");
$beschreibungunter = mysql_result( $abfrageunter , $x, "beschreibung");
$leerraum = "";
for( $l = 0 ; $l < $naechsteTiefe ; $l++ ){
$leerraum = " ";
}
print "$leerraum<a href='abfragen.php?id=" . $idunter . "&aktTiefe=" . $naechsteTiefe . "'>" . $beschreibungunter . "</a><br><br>\n\n";
unterKategorie( $naechsteTiefe , $idunter );
echo "aufruf " . $naechsteTiefe . "<br><br>";
}
}
}
$sqlbefehl = "SELECT * FROM $MySql_kategorie ";
$sqlbefehl .= "WHERE tiefe = 1 ";
$sqlbefehl .= "ORDER BY beschreibung ASC ";
$abfrage = mysql_query($sqlbefehl);
$anzahl = mysql_num_rows($abfrage);
for( $i = 0 ; $i < $anzahl ; $i++ ){
$id = mysql_result( $abfrage , $i, "id");
$naechsteTiefe = mysql_result( $abfrage , $i, "tiefe");
$naechsteTiefe++;
$zeiger = mysql_result( $abfrage , $i, "zeiger");
$beschreibung = mysql_result( $abfrage , $i, "beschreibung");
$leerraum = "";
for( $l = 0 ; $l < $tiefe ; $l++ ){
$leerraum = " ";
}
print "$leerraum<a href='abfragen.php?id=" . $id . "&aktTiefe=" . $naechsteTiefe . "'>" . $beschreibung . "</a><br><br>\n\n";
unterKategorie( $naechsteTiefe , $id );
echo "aufruf " . $naechsteTiefe . "<br><br>";
}
print "</body>\n";
print "</html>\n";
?>
Kommentar