Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Серверные технологии и Flash (http://www.flasher.ru/forum/forumdisplay.php?f=62)
-   -   как посчитать и вывести урл из базы содержащей вложения по parent (http://www.flasher.ru/forum/showthread.php?t=88902)

Americanets 03.12.2006 23:05

как посчитать и вывести урл из базы содержащей вложения по parent
 
как посчитать и вывести урл из базы содержащей вложения по parent

Код HTML:

INSERT INTO `pages` VALUES (1, 'home','Главная', 'стартовая страница', 0);
INSERT INTO `pages` VALUES (2, 'pod','подстраница', 'просто подстраница', 1);
INSERT INTO `pages` VALUES (3, 'podstr3','подстраница3', 'просто подстраница3', 2);
INSERT INTO `pages` VALUES (4, 'podstresho','подстраница isho', 'просто подстраница isho', 1);
INSERT INTO `pages` VALUES (8, 'satranica','страница', 'просто страница 2', 0);
INSERT INTO `pages` VALUES (9, 'podstresho', 'подстраница 2','просто подстраница 2osds', 8);
INSERT INTO `pages` VALUES (10, 'podstresho', 'подстраница isho i ischo','просто подстраница isho i ischo', 9);

сам title вывести могу, а как выводить их в последовательности название сайта/страница/другая страница и в обратном порядке?

Skubent 04.12.2006 12:41

Вариант посложнее - почитать про деревья, переделать базу в соответствии с прочитанным.
Вариант чуть проще - хранить не только адрес родителя, но и полный путь до корня.
Вариант совсем простой - выдергивать из базы по одному узлу, пока не дойдем до корня.

Americanets 04.12.2006 14:12

читать про эти 3 варианта, с примерами ?

Skubent 04.12.2006 15:47

1. гугл отдал вот это http://myphp.net.ru/lessons/index.php?18, ну дальше уже инфу сам ищи, я даже эту статью не прочитал :)
2. А что там читать ? В первом приближении пишешь
Код:

INSERT INTO `pages` VALUES (8, 'satranica','страница', 'просто страница 2', "0");
INSERT INTO `pages` VALUES (9, 'podstresho', 'подстраница 2','просто подстраница 2osds', "8-0");
INSERT INTO `pages` VALUES (10, 'podstresho', 'подстраница isho i ischo','просто подстраница isho i ischo', "9-8-0");

ну или куришь гугл по словам "нормализация баз данных"
3. Тут тоже все прозрачно - достав нужную ветку пишешь примерно так
Код:

while ($parent != 0)
{
  $res = mysql_query("SELECT `parent` FROM `table` WHERE `id` = "'.$parent.'"");
  $row = mysql_fetch_array($res);
  $parent = row[0];
}


rtm 04.12.2006 20:03

В своей теме Вы задавали такой же вопрос, на который, кстати, я ответил полностью рабочим скриптом, из которого Вам нужна функция:
PHP код:

BuildFullPath("<id записи, для которой нужно стоить путь>",'http://example.com/'); 

P.S. нужно всего-лишь поправить имя таблицы в запросе.

P.P.S. Как я посмотрю модераторы либерально смотрят на кроспостинг, а жаль.

Americanets 05.12.2006 00:25

сори, пасибо Вам


Часовой пояс GMT +4, время: 12:43.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.