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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как сделать вложеную страницу? www.site.ru/stranica/podstranica/ 
:(
    Опции темы
americanets
Дата 16.11.2006, 18:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1100
Регистрация: 27.9.2006

Репутация: 2
Всего: 12




Как сделать вложеную страницу? Те например www.site.ru/stranica/ я выбираю так

$sql = "SELECT * FROM `pages` WHERE `name_url`='stranica';";

а как сделать чтоб было www.site.ru/stranica/podstranica/

и можно было вывести в меню
страница
 - подстраница1
 - подстраница2
 - подстраница3
 
 и т д возможно до бесконечности вложений smile 
 
 


--------------------
Пусть популярную музыку слушают те, среди кого она популярна
PM   Вверх
Wolf1994
Дата 16.11.2006, 21:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1701
Регистрация: 5.10.2004

Репутация: 2
Всего: 29



Код

"$sql="SELECT * FROM pages WHERE name_url LIKE ".substr ($page, 0, strrpos ($page, "/"))."%";

PM MAIL WWW   Вверх
americanets
Дата 16.11.2006, 21:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1100
Регистрация: 27.9.2006

Репутация: 2
Всего: 12



а можно по подробнее насчет получения тех самых данных из урла и тд smile 


--------------------
Пусть популярную музыку слушают те, среди кого она популярна
PM   Вверх
SelenIT
Дата 16.11.2006, 21:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


баг форума
****


Профиль
Группа: Завсегдатай
Сообщений: 3996
Регистрация: 17.10.2006
Где: Pale Blue Dot

Репутация: 9
Всего: 401



americanets, а как у Вас эти страницы хранятся в базе? В виде популярного "id, parent_id, name_url" или как-то по-другому?


--------------------
Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму!
PM MAIL   Вверх
Wolf1994
Дата 16.11.2006, 21:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1701
Регистрация: 5.10.2004

Репутация: 2
Всего: 29



Цитата(americanets @  16.11.2006,  21:26 Найти цитируемый пост)
а можно по подробнее насчет получения тех самых данных из урла и тд


Не совсем понял вопрос...

Я предположил что данные хранятся в виде:

Код

page
page/subpage1
page/subpage2
page/subpage2/subsubpage1
page/subpage2/subsubpage2
page/subpage3


Тогда, например, при запросе страницы: "page/subpage2/subsubpage1", будет браться "page/subpage2":

Код

substr ($page, 0, strrpos ($page, "/"))


После чего запрос выберет:

Код

page/subpage2
page/subpage2/subsubpage1
page/subpage2/subsubpage2

PM MAIL WWW   Вверх
americanets
Дата 17.11.2006, 08:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1100
Регистрация: 27.9.2006

Репутация: 2
Всего: 12



Цитата(SelenIT @  16.11.2006,  21:31 Найти цитируемый пост)
а как у Вас эти страницы хранятся в базе? В виде популярного "id, parent_id, name_url" или как-то по-другому? 


Да есть id но parent_id нет, можно по подробнее о его использовании и что то не понял про 

Код

при запросе страницы: "page/subpage2/subsubpage1", будет браться "page/subpage2":


и как вывести в меню 

страница
 - подстраница1
 - подстраница2
 - подстраница3

вот в чем вопрос ? 


--------------------
Пусть популярную музыку слушают те, среди кого она популярна
PM   Вверх
skifoz
Дата 17.11.2006, 10:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 85
Регистрация: 23.1.2006
Где: Россия

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



parent_id подразумевает ID отца, то есть к какому разделу отноститься данная страница,
например у нас есть главный каталог


name | id | parent_id

main  | 1 | 0

чтобы прикрутить к этому каталогу скажем подкаталог с название podmain1, вносим в таблицу
вот такие данные

podmain1 | 2 | 1

то есть пишем в parent_id, ID каталога к которому принадлежит данный каталог.
PM MAIL WWW   Вверх
americanets
Дата 17.11.2006, 12:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1100
Регистрация: 27.9.2006

Репутация: 2
Всего: 12



ага, тут понятно, а вот как получить нужные данные из урла? с одним просто pg=stranica а вот как stranica/podstranica/ и тд вопрос для меня большой
а как потом вывести все это в меню, чтоб не сортировалось по id или дате ? чтоб 

страница
 
    подстраница
    подстраница
     
      подстраница
      подстраница
      подстраница
    подстраница
?


--------------------
Пусть популярную музыку слушают те, среди кого она популярна
PM   Вверх
wetlook
Дата 17.11.2006, 13:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 19
Регистрация: 16.11.2006

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



бeрем URI через $uri=$_SERVER['REQUEST_URI'];
Извлекаем в переменные как писал Wolf1994 через substr();
Должно получиться


Это сообщение отредактировал(а) wetlook - 17.11.2006, 13:46
PM MAIL   Вверх
americanets
Дата 17.11.2006, 15:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1100
Регистрация: 27.9.2006

Репутация: 2
Всего: 12



буду прбовать, если что обращусь тк что-то мало понимаю пока 


--------------------
Пусть популярную музыку слушают те, среди кого она популярна
PM   Вверх
americanets
Дата 18.11.2006, 11:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1100
Регистрация: 27.9.2006

Репутация: 2
Всего: 12



а можно все таки примерчик, а то никак не могу собрать все во едино если кто может помоч структурой базы и кодом PHP буду очень благодарен, заранее пасибо smile 


--------------------
Пусть популярную музыку слушают те, среди кого она популярна
PM   Вверх
Wolf1994
Дата 18.11.2006, 18:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1701
Регистрация: 5.10.2004

Репутация: 2
Всего: 29



Можно сделать всё намного проще и вообще обойтись без БД.

Пример:

Код

$menu_ar=array (
"software",
"Программы",
"Интернет, Разработка, Науки, Мультимедиа, Утилиты, КПК...",

 "software/security",
 "Безопасность",
 "Защита компьютера",

  "software/security/encryptors",
  "Шифровальщики",
  "Кодирование информации",

  "software/security/antivirus",
  "Антивирусы",
  "Антивирусные сканеры"
);

$menu=array_chunk ($menu_ar, 3);

$current_dir="software/security";//текущий директорий

$length=strlen ($current_dir);

$current_menu=array_filter ( $menu, create_function ( '$t', 'return ( substr ($t [0], 0, '.$length.')=="'.$current_dir.'" );' ) );

print_r ($current_menu);//Этот массив будет содкржать нужное Вам меню


При этом Вы приобретёте лёгкость манипулирования и смены и информации в меню - не надо будет писать скрипт - редактор под БД.
PM MAIL WWW   Вверх
americanets
Дата 18.11.2006, 18:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1100
Регистрация: 27.9.2006

Репутация: 2
Всего: 12



Цитата(Wolf1994 @  18.11.2006,  18:15 Найти цитируемый пост)
Можно сделать всё намного проще и вообще обойтись без БД.

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


--------------------
Пусть популярную музыку слушают те, среди кого она популярна
PM   Вверх
americanets
Дата 19.11.2006, 14:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1100
Регистрация: 27.9.2006

Репутация: 2
Всего: 12



может кто-нибудь поможет примером, а то никак не могу разобраться, 


--------------------
Пусть популярную музыку слушают те, среди кого она популярна
PM   Вверх
americanets
Дата 19.11.2006, 21:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1100
Регистрация: 27.9.2006

Репутация: 2
Всего: 12



Нашел вот такой код для парсинга URL (http://www.compdoc.ru/internet/php/user_friendly_urls/) , как мне думуется нужно в .htaccess написать RewriteRule ^(.*) content.php
и URL будет браться , а вот как на основании его выводить нужную страницу(вложенные страницы) и какова должна быть структура MySql? 

Код

<?php
header("http/1.1 200 Ok");
if(empty($_SERVER['REDIRECT_URL'])) $P=array();
else
{ $url=$_SERVER['REDIRECT_URL'];
if($url[0]=='/') $url=substr($url, 1);
if($url[strlen($url)-1]=='/') $url=substr($url, 0, -1);
$url=explode('/', $url);
$tmp=count($url)-1;
if($tmp>0)
{
$P=array(); $j=0;
for($i=0; $i<=$tmp; $i++)
{
if(!empty($url[$i]))
{
$P[$j]=$url[$i];
$j++;
}
}
}
else $P=array();
}
?> 



--------------------
Пусть популярную музыку слушают те, среди кого она популярна
PM   Вверх
Страницы: (3) Все [1] 2 3 
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Базы Данных | Следующая тема »


 




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


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

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