Иерархич. древо

LEXAlForpostl

Мой дом здесь!
Регистрация
21 Май 2008
Сообщения
766
Реакции
228
Здравствуйте.
Подскажите, пожалуйста, необходимо в БД mysql хранить данные, которые будут представленны в виде
fa6fae05050c.jpg

Причём у каждого название есть синонимы, т.е. вместе НазваниеX будет находится выпадающая меню с названиями.
Вопросы:
1). Какой структуры должна быть БД.
2). Какая функция сможет выводить информацию в виде как указано на картинке выше?
 
А можно более детальное описание требований к базе? (желательно с жизненными примерами) А то Ваш вопрос можно обыгрывать по разному...
Пока исходя и описанного Вами только такое пришло в голову:
id | name | parent | synonym |
1 | название1 | 0 | ширли::мырли |
2 | название2 | 1 | трали::вали |
3 | название3 | 1 | ёшки::морошки|

ну а функция скорее всего foreach() хотя это могут быть и несколько функций одновременно...
 
Структура БД подходит.
Только как теперь её обрабатывать.
Как из этой Бд вывести информацию ввиде древа.
 
Древавидная структура реализуется по средствам добавления в БД поля родителя, т.е.: есть поле с каким то индетификатором и ещё одно с идентификатором родителя. Надеюсь понятно выразился.
 
Древавидная структура реализуется по средствам добавления в БД поля родителя, т.е.: есть поле с каким то индетификатором и ещё одно с идентификатором родителя. Надеюсь понятно выразился.
Это я уже понял из 2го поста.
Покажите, пожалуйста, на примере, как мне увидеть визуально информацию из БД в виде древа.
 
ну например так:
PHP:
$parent_array=mysql_query("SELECT * FROM tab_1 WHERE `parent`='0'");
while($p_a=mysql_fetch_assoc($parent_array)){
echo $p_a['name']."<br>";
$child_array=mysql_query("SELECT * FROM tab_1 WHERE `parent`='".$p_a['id']."'");
while($c_a=mysql_fetch_assoc($child_array)){
echo "--".$c_a['name']."<br>";
}
}
Такой скрипт выведет чёто типа:
корень1
--подкорень1.1
корень2
корень3
--подкорень3.1
--подкорень3.2
и т.д. но если нужно
корень1
--подкорень1.1
---подкорень1 подкорня1.1
то тут немного мозги поднапрячь не помешает :)
 
Назад
Сверху