Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > Серверные технологии и Flash

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 13.12.2006, 11:52
Americanets вне форума Посмотреть профиль Отправить личное сообщение для Americanets Найти все сообщения от Americanets
  № 1  
Ответить с цитированием
Americanets
 
Аватар для Americanets

Регистрация: Jun 2005
Сообщений: 127
По умолчанию не корректно выводится путь до вложенных страниц

Код:
CREATE TABLE `pages` (`id` int(11) NOT NULL auto_increment, `name_url` varchar(255) NOT NULL default '', `content` text,`parent` int(11) NOT NULL default '0',  PRIMARY KEY  (`id`));
INSERT INTO `pages` VALUES (1, 'home','просто страница', 0);
INSERT INTO `pages` VALUES (2, 'pod','просто подстраница', 1);
INSERT INTO `pages` VALUES (3, 'podstr3','просто подстраница3', 2);
INSERT INTO `pages` VALUES (5, 'satranica', 'просто подстраница 2', 0);
INSERT INTO `pages` VALUES (6, 'podstresho', 'просто подстраница 2osds', 5);
INSERT INTO `pages` VALUES (7, 'podstresho', 'просто подстраница isho i ischo', 6);

PHP код:
function BuildFullPath($curId,$base_path="/") { 
$url ""
while (
true) { 
$query="SELECT `id`,`menu_neme`,`parent`,`name_url` from `pages` where `id`=$curId"
$query mysql_query($query) or die (mysql_error()); 
$pr mysql_fetch_row($query);
$pg=$pr[3]."/".$pg
$url "<a href=".$pg.">".$pr[1]."</a>/".$url
if (
$pr[2]==0) { 
break; 

$curId $pr[2]; 

return 
$base_path.$url
}

$query="SELECT * from `pages` where `id`"
$query mysql_query($query) or die (mysql_error()); 

WHILE (
$dat=mysql_fetch_array($query))  { 
    print 
BuildFullPath($dat['id'],'http://example.com/')."<br>\n"

выводит

начальная(/podstr/esho/)/подстраница(/podstr/)/еще подстраница(/)
должен
начальная(/)/подстраница(/podstr/)/еще подстраница(/podstr/esho/)

Старый 13.12.2006, 13:44
rtm вне форума Посмотреть профиль Отправить личное сообщение для rtm Найти все сообщения от rtm
  № 2  
Ответить с цитированием
rtm

Регистрация: Nov 2006
Сообщений: 39
Наконец-то я добился от Вас ответа на вопрос "Что Вы хотите получить в итоге?"! Только это кажется уже 3-я ветка по этому вопросу.

Приведённый Вами скрипт вообще начего не ведет так как в сценарии создания таблицы нет поля `menu_neme`, кстати кажется Вы написали не совсем то, что хотели, ну да это не особо важно.

Вот моя очередная попытка в решении этого вопрос, в свете новооткрытых требованиях. Я основываюсь на бд, а не на Вашем коде.
Код:
CREATE TABLE `pages` (`id` int(11) NOT NULL auto_increment, `name_url` varchar(255) NOT NULL default '', `content` text,`parent` int(11) NOT NULL default '0',  PRIMARY KEY  (`id`));
INSERT INTO `pages` VALUES (1, 'home','просто страница', 0);
INSERT INTO `pages` VALUES (2, 'pod','просто подстраница', 1);
INSERT INTO `pages` VALUES (3, 'podstr3','просто подстраница3', 2);
INSERT INTO `pages` VALUES (5, 'satranica', 'просто подстраница 2', 0);
INSERT INTO `pages` VALUES (6, 'podstresho', 'просто подстраница 2osds', 5);
INSERT INTO `pages` VALUES (7, 'podstresho', 'просто подстраница isho i ischo', 6);
PHP код:
function BuildFullPath($curId,$base_path="/") {
    
$path = array();
    while (
true) {
        
$sql "select `id`,`content`,`name_url`,`parent` from `pages` where `id` = $curId";
        
$r mysql_query($sql) or die(mysql_error());
        
$r mysql_fetch_row($r);
        
$path[] = array('title'=>$r[1],'url'=>$r[2]);
        if (
$r[3]==0) {
            break;
        }
        
$curId $r[3];
    }
    
$resstr "";
    while (
count($path)) {
        
$pg array_pop($path);
        
$resstr.= "<a href=\"$base_path".$pg['url']."\">".$pg['title']."</a>/";
        
$base_path.=$pg['url'].'/';
    }
    return 
$resstr;
}
$query="SELECT `id`,`content` from pages";
$query mysql_query($query) or die (mysql_error());

WHILE (
$dat=mysql_fetch_assoc($query))  {
    print 
"<li>".$dat['content']."URL: ".BuildFullPath($dat['id'],'http://example.com/')."<br>\n";


Старый 13.12.2006, 13:58
Americanets вне форума Посмотреть профиль Отправить личное сообщение для Americanets Найти все сообщения от Americanets
  № 3  
Ответить с цитированием
Americanets
 
Аватар для Americanets

Регистрация: Jun 2005
Сообщений: 127
спасибо

Создать новую тему Ответ Часовой пояс GMT +4, время: 06:10.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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