Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> построить директорное меню из таблицы, нужна помощь - сложная задача =) 
:(
    Опции темы
Elfet
  Дата 27.1.2005, 23:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Белый и Пушистый
****


Профиль
Группа: Awaiting Authorisation
Сообщений: 3776
Регистрация: 2.4.2003

Репутация: нет
Всего: 16



Вообщем есть бд, а в бд записи вот такого типа:
id title des
тобишь иди относится к другой таблице с текстом, титле - заглавие, а в дес - описание (см тут)
page=home/into/www.

вот и нужно построить такое меню:

приходит home/into

отображается всё что можно получить по запросу из home/ ( des LIKE 'home/%' and des LIKE 'home%')


*home*

//----------
// into
//----------
-www
-go
-home

//----------
// about
//----------
-www
-go
-home



приходит home/into/go

отображается всё что можно получить по запросу из home/into/go

*home*

//----------
// into
//----------
-www
-go
--Helo
--Us
--Hi
-home

//----------
// about
//----------
-www
-go
-home



тобишь таблица состоит из
page=home.
page=home/into.
page=home/into/www.
page=home/into/go.
page=home/into/go/Helo.
page=home/into/go/Us.
page=home/into/go/Hi.
page=home/into/home.
page=home/about.
page=home/about/www.
page=home/about/go.
page=home/about/home.


SOS!!! нужна помощь! не хочу писать мутантов! smile
smile




--------------------
PM MAIL WWW Skype   Вверх
Elfet
Дата 28.1.2005, 13:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Белый и Пушистый
****


Профиль
Группа: Awaiting Authorisation
Сообщений: 3776
Регистрация: 2.4.2003

Репутация: нет
Всего: 16



мне нужно из этого:
Код

page=home.
page=home/into.
page=home/into/www.
page=home/into/go.
page=home/into/go/Helo.
page=home/into/go/Us.
page=home/into/go/Hi.
page=home/into/home.
page=home/about.
page=home/about/www.
page=home/about/go.
page=home/about/home.


получить вот это:

Код

array (
           'home' => array (
                                       'into' => array (
                                                                 'www' => '',
                                                                 'go' => array (
                                                                                         'Helo'  => '',
                                                                                         'Us'  => '',
                                                                                         'Hi'  => '',
                                                                                      ),
                                                                 'home' => '',
                                                               ),
                                       'about' => array (
                                                                    'www' => '',
                                                                    'go'  => '',
                                                                    'home' => '',
                                                                 ),
                                     ),
        );

Добавлено @ 13:07
Код

Array
(
   [home] => Array
       (
           [into] => Array
               (
                   [www] =>
                   [go] => Array
                       (
                           [Helo] =>
                           [Us] =>
                           [Hi] =>
                       )

                   [home] =>
               )

           [about] => Array
               (
                   [www] =>
                   [go] =>
                   [home] =>
               )

       )

)


Это сообщение отредактировал(а) Elfet - 28.1.2005, 13:05


--------------------
PM MAIL WWW Skype   Вверх
IZ@TOP
Дата 28.1.2005, 15:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Панда-бир!
****


Профиль
Группа: Участник
Сообщений: 4795
Регистрация: 3.2.2003
Где: Бамбуковый лес

Репутация: 44
Всего: 73



Да проще не бывает:

Код

<?php

echo "<pre>";

$a = 'page=home.
page=home/into.
page=home/into/www.
page=home/into/go.
page=home/into/go/Helo.
page=home/into/go/Us.
page=home/into/go/Hi.
page=home/into/home.
page=home/about.
page=home/about/www.
page=home/about/go.
page=home/about/home.';

function setTree(&$Tree, $Level) {
if(sizeof($Level) > 1) {
 $Root   = array_shift($Level);
 if(!isset($Tree[$Root])) $Tree[$Root] = array();
 setTree($Tree[$Root], $Level);
} else {
 $Tree[$Level[0]] = '';
}
}

preg_match_all("%page\=([^\.]*)%si", $a, $match);

$Tree = array();

while($m = array_shift($match[1])) {
$Next = explode('/', trim($m));
if(sizeof($Next) > 1) {
 $Root   = array_shift($Next);
 if(!isset($Tree[$Root])) $Tree[$Root] = array();
 setTree($Tree[$Root], $Next);
} else {
 $Tree[$Next[0]] = '';
}
}


print_r($Tree);


?>



--------------------
Один из розовых плюшевых-всадников апокалипсиса... очень злой...

Семь кругов ада для новых элементов языка
Мои разрозненные мысли
PM MAIL WWW ICQ Skype GTalk   Вверх
Elfet
Дата 28.1.2005, 15:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Белый и Пушистый
****


Профиль
Группа: Awaiting Authorisation
Сообщений: 3776
Регистрация: 2.4.2003

Репутация: нет
Всего: 16



огого! и впрямь смешно! smile


--------------------
PM MAIL WWW Skype   Вверх
IZ@TOP
Дата 28.1.2005, 15:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Панда-бир!
****


Профиль
Группа: Участник
Сообщений: 4795
Регистрация: 3.2.2003
Где: Бамбуковый лес

Репутация: 44
Всего: 73



Elfet, так что? Не подходит чтоли?


--------------------
Один из розовых плюшевых-всадников апокалипсиса... очень злой...

Семь кругов ада для новых элементов языка
Мои разрозненные мысли
PM MAIL WWW ICQ Skype GTalk   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0710 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.