vladimirsob
Новичок
Опять про деревья
Здравствуйте уважаемые эксперты!
Я сделал вот такую таблицу для хранения древовидного меню в БД:
CREATE TABLE `catalogs` (
`cat_id` int(11) NOT NULL auto_increment,
`parent_id` int(11) NOT NULL default '0',
`cat_name` varchar(200) NOT NULL default '',
PRIMARY KEY (`cat_id`)
);
INSERT INTO `catalogs` VALUES (1, 0, 'Программирование');
INSERT INTO `catalogs` VALUES (2, 1, 'Веб программирование');
INSERT INTO `catalogs` VALUES (3, 1, 'Системное программирование');
INSERT INTO `catalogs` VALUES (4, 2, 'PHP');
INSERT INTO `catalogs` VALUES (5, 2, 'Perl');
... и т.д.
и вот такой код для вывода этого дерева:
function get_tree($parent_id = 0, $prefix = "") {
global $out;
$query = "SELECT * FROM catalogs WHERE parent_id = '$parent_id'";
$result = mysql_query($query);
while ($row = mysql_fetch_array($result)) {
$out .= "+".$prefix.$row['cat_name']."<br>";
get_tree($row['cat_id'], "".$prefix." ");
}
return $out;
}
echo get_tree();
Дерево выводится вместе со всеми подразделами.
Я начинающий программист и быть Вы подскажете как мне сделать пошаговый вывод меню?
Т.е. я нажимаю на первый раздел и только после этого открывает под раздел и т.д.
Заранее спасибо!!!
Здравствуйте уважаемые эксперты!
Я сделал вот такую таблицу для хранения древовидного меню в БД:
CREATE TABLE `catalogs` (
`cat_id` int(11) NOT NULL auto_increment,
`parent_id` int(11) NOT NULL default '0',
`cat_name` varchar(200) NOT NULL default '',
PRIMARY KEY (`cat_id`)
);
INSERT INTO `catalogs` VALUES (1, 0, 'Программирование');
INSERT INTO `catalogs` VALUES (2, 1, 'Веб программирование');
INSERT INTO `catalogs` VALUES (3, 1, 'Системное программирование');
INSERT INTO `catalogs` VALUES (4, 2, 'PHP');
INSERT INTO `catalogs` VALUES (5, 2, 'Perl');
... и т.д.
и вот такой код для вывода этого дерева:
function get_tree($parent_id = 0, $prefix = "") {
global $out;
$query = "SELECT * FROM catalogs WHERE parent_id = '$parent_id'";
$result = mysql_query($query);
while ($row = mysql_fetch_array($result)) {
$out .= "+".$prefix.$row['cat_name']."<br>";
get_tree($row['cat_id'], "".$prefix." ");
}
return $out;
}
echo get_tree();
Дерево выводится вместе со всеми подразделами.
Я начинающий программист и быть Вы подскажете как мне сделать пошаговый вывод меню?
Т.е. я нажимаю на первый раздел и только после этого открывает под раздел и т.д.
Заранее спасибо!!!