|
|
|
| Помогите создать иерархию вложенности.
Что-то вроде:
0: Раздел 1
2: - Подраздел 1 раздела 1
3: - Подраздел 2 раздела 1
7: -- Подподраздел 1 подраздела 2 раздела 1
8: -- Подподраздел 2 подраздела 2 раздела 1
9: -- Подподраздел 3 подраздела 2 раздела 1
4: - Подраздел 3 раздела 1
5: - Подраздел 4 раздела 1
6: - Подраздел 5 раздела 1
1: Раздел 2
|
Как такое реализовать?
Я думаю записывать данные так (razdely.txt):
id раздела | относиться к id | Название
0 | | Раздел 1
2 | 0 | Подраздел 1 раздела 1
3 | 0 | Подраздел 2 раздела 1
4 | 0 | Подраздел 3 раздела 1
5 | 0 | Подраздел 4 раздела 1
6 | 0 | Подраздел 5 раздела 1
7 | 3 | Подподраздел 1 подраздела 2 раздела 1
8 | 3 | Подподраздел 2 подраздела 2 раздела 1
9 | 3 | Подподраздел 3 подраздела 2 раздела 1
|
| |
|
|
|
|
|
|
|
для: Maxam
(22.04.2010 в 14:55)
| | Только не нужно предлагать:
for ( ... )
{
for ( ... )
{
}
}
| Это тормозит! | |
|
|
|
|
|
|
|
для: Maxam
(22.04.2010 в 14:56)
| | это вообще что?
если не собираетесь работать с базой, то лучшая иерархия это папки и файлы... | |
|
|
|
|
|
|
|
|
для: bab-nike
(22.04.2010 в 16:29)
| | Помоему там варианты как раз такие, которые я попросил не предлагать, т.е. запрос к таблице базы данных осуществляется много раз. | |
|
|
|
|
|
|
|
для: Maxam
(22.04.2010 в 18:33)
| | посмотрите ответ автора, от maxfade . | |
|
|
|
|
|
|
|
для: Maxam
(22.04.2010 в 18:33)
| | выбирайте одним запросом в массив а потом работайте с ним | |
|
|
|
|
|
|
|
для: oliss
(23.04.2010 в 09:57)
| | Да, именно так я и хотел! | |
|
|
|
|
|
|
|
для: Maxam
(23.04.2010 в 21:57)
| | структуру таблицы давайте | |
|
|
|
|
|
|
|
для: oliss
(24.04.2010 в 15:09)
| | он её уже привёл вообщето ид, ид родителя, название.
[поправлено модератором] | |
|
|
|
|
|
|
|
для: Ури Геллер
(24.04.2010 в 15:34)
| | Это вам, кажется ,что он привёл ,а на самом деле нет структура делается через CREATE TABLE | |
|
|
|
|
|
|
|
для: Maxam
(22.04.2010 в 14:55)
| | Рекурсия вас не устраивает? | |
|
|
|
|
|
|
|
для: Maxam
(22.04.2010 в 14:55)
| | test.php
<?php
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
include "TreeItems.php";
// Корневой элемент всегда должен быть первым.
// +-------------------------+
// | ID | PID | DATA |
// +-------------------------+
$items = array(
array(0, NULL, "Корень"),
array(1, 0, "Заголовок 1"),
array(2, 0, "Заголовок 2"),
array(3, 2, "Заголовок 2.1"),
array(4, 1, "Заголовок 1.1"),
array(5, 0, "Заголовок 3"),
array(6, 4, "Заголовок 1.1.1"),
);
echo "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01//EN\" \"http://www.w3.org/TR/html4/strict.dtd\">\n";
echo "<html>\n<head><title>Тест</title>\n<meta http-enquiv=\"Content-type\" content=\"text/html; charset=utf-8;\" />\n</head>\n";
echo "<body>\n<div>\n";
PrintTree(getTroot($items));
echo "</div>\n</body>\n</html>";
?>
|
Выводит в браузер:
Корень
Заголовок 1
Заголовок 1.1
Заголовок 1.1.1
Заголовок 2
Заголовок 2.1
Заголовок 3
|
[поправлено модератором] | |
|
|
|