|
 70 байт |
|
| Есть таблица categories.
CREATE TABLE categories (
id int(10) unsigned NOT NULL auto_increment,
name varchar(128) NOT NULL default '',
left_key int(10) unsigned NOT NULL default '0',
right_key int(10) unsigned NOT NULL default '0',
level int(10) unsigned NOT NULL default '0',
parent_id int(10) unsigned NOT NULL default '0',
PRIMARY KEY (id),
KEY cleft (left_key,right_key,level)
) TYPE=MyISAM;
#
# Дамп данных таблицы 'categories'
#
INSERT INTO categories VALUES (162, 'ывфы', 13, 14, 2, 158);
INSERT INTO categories VALUES (163, 'ывыфв', 6, 11, 3, 159);
INSERT INTO categories VALUES (164, 'ыфвыфв', 7, 8, 4, 163);
INSERT INTO categories VALUES (165, 'ыфвфыв', 19, 30, 2, 161);
INSERT INTO categories VALUES (166, 'фывфыв', 20, 29, 3, 165);
INSERT INTO categories VALUES (157, 'Новости', 2, 3, 1, 1);
INSERT INTO categories VALUES (158, 'Статьи', 4, 15, 1, 1);
INSERT INTO categories VALUES (1, 'Главная', 1, 32, 0, 0);
INSERT INTO categories VALUES (170, 'wqe', 22, 23, 5, 168);
INSERT INTO categories VALUES (168, 'цйуйу', 21, 26, 4, 166);
INSERT INTO categories VALUES (169, 'йцуйцу', 27, 28, 4, 166);
INSERT INTO categories VALUES (161, 'в', 18, 31, 1, 1);
INSERT INTO categories VALUES (167, 'цйу', 9, 10, 4, 163);
INSERT INTO categories VALUES (160, 'ыфв', 16, 17, 1, 1);
INSERT INTO categories VALUES (159, '2005', 5, 12, 2, 158);
INSERT INTO categories VALUES (171, 'wqeq', 24, 25, 5, 168);
|
Есть картинки типа
|
|--
|_.
Как при помощи всего этого сделать древовидную карту сайта (по типу http://www.unesco.ru/rus/pages/sitemap.php), всмысле как правильно поставить картинки, чтобы получилось дерево?
Все это дело можно выстроить без картинок в два счета (но тогда это будет не дерево), а с картинками парюсь уже дня 3. ПОМОГИТЕ ПЛИЗ! | |
|
|
|
|
|
|
|
для: slash2k
(22.08.2005 в 20:43)
| | . | |
|
|
|
|
|
|
|
для: Ziq
(23.08.2005 в 08:56)
| | ну помогите же кто-нибудь! ПОЖАЛУЙСТА! | |
|
|
|
|
|
|
|
для: slash2k
(23.08.2005 в 18:41)
| | Лично я не очень понял проблемы. Разве нельзя в цикле создавать определенное количество <td> или , чтобы появлялся отступ? Ну а потом тег <img>, разумеется. Или затруднение не в этом? | |
|
|
|
|
|
|
|
для: Shorr Kan
(24.08.2005 в 05:01)
| | Это все понятно. Дело в другом. Картинки тоже же нужно ставить не одинаковаые.
Например |_ - такую картинку, если это последняя категория. |-- -такую, если нет.
Но это тоже понятно. А вот если есть такая картина.
Главный родитель
|
|--Родитель 1
| |
| |--Сын 1
| |
| |_Cын-Родитель 2
| | |
| | |--Сын 1
| | |
| | |_ Сын 2
|
|_Родитель 2
| |
| |--Сын 1
| |
| |_Cын-Родитель 2
| | |
| | |--Сын 1
| | |
| | |_ Сын 2
Как учесть какое количество | и пробелов нужно ставить около $row['name']? | |
|
|
|
|
|
|
|
для: slash2k
(24.08.2005 в 17:36)
| | По полю level в базе. | |
|
|
|
|
|
|
|
для: Atom
(24.08.2005 в 17:56)
| | -- | |
|
|
|
|
 1.6 Кб |
|
|
для: @ndry
(28.08.2005 в 20:51)
| | У меня та же проблема. Мучаюсь уже наверное недели 2. Меня уже это бксит но сделать нужно. Чеопс ПОМОГИ ПЛИЗ!!!!!!!!!!!!!!
Вот архив, в нем таблица с данными, картинки, и скрипт, который выводит дерево с отступами.
ПЕРЕПИШИТЕ ЭТОТ СКРИПТ ПОЖАЛУЙСТА, чтобы вместо отстуов были соотв. картинки, чтобы бало хотяби типа типа этого.
http://www.unesco.ru/rus/pages/sitemap.php
В архиве есть все что нужно.
ПОЖАЛУЙСТА! ПОЖАЛУЙСТА! ПОЖАЛУЙСТА! ПОЖАЛУЙСТА! ПОЖАЛУЙСТА! ПОЖАЛУЙСТА! | |
|
|
|
|
|
|
|
для: off
(16.09.2005 в 21:39)
| | Cheops, ну помоги пожалуйста | |
|
|
|
|
|
|
|
для: off
(17.09.2005 в 13:14)
| | На другом форуме подсказали сделать так
$sql="SELECT * FROM c_tree ORDER BY left_key";
$result=mysql_query($sql);
$tree = array();
while ($row=mysql_fetch_array($result)){
$left_key = $row ['left_key'];
$right_key = $row ['right_key'];
$level = $row ['level'];
$name = $row ['name'];
$parent_id = $row ['parent_id'];
$tree[] = $row;
}
$t = array();
for($i=0;$i>sizeof($tree);$i++) {
for ($j=0;$j<$tree[$i][level];$j++) {
if (!$t[j]) echo ' ';
else echo '|';
}
//если первая в текущем уровне
if ($tree[$i-1][level]<$tree[$i][level]) {
$t[$tree[$i][level]] = 1;
echo 'L';
} else {
//если естьветки текущего уровня
if (isset($tree[$i+1][level])) {
$t[$tree[$i][level]] = 1;
echo '|-';
} else {
//если нету
$t[$tree[$i][level]] = 0;
echo 'L';
}
}
echo $tree[$i][id];
}
|
Но вот тока этот код почему-то не работает. Подскажите плиз... | |
|
|
|
|