Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > Навигация + $_GET[]


Автор: Aliance 4.10.2005, 21:14
Хочу сделать навигацию на php.
Ну в общем-то все легко, есть сайт, где центр (контент) делается инклудами. Все легко, имеем
site.ru/index.php?page=la
Тогда грузим la.php и т.д.

Но я хочу цифрами, т.е. имея site.ru/?p=1 грузилась опр. страница.
Называть страницы 1.php не хочу, какие идеи?

У меняы 2:
• примитивная: сделать множество if`ов и проверять каждый файл. Естественно это бред
• сделать ассоциативный массив, и сравнивать если $_GET['p'] == номер, то брать из массива и инклудить ту страницу, которая находится под данный номером в массиве.

Правильно ли я мыслю и какие есть еще варианты?

Автор: -=Ustas=- 4.10.2005, 21:51
Цитата(Aliance @ 4.10.2005, 21:14)
• примитивная: сделать множество if`ов и проверять каждый файл. Естественно это бред

Если так, то по-моему красивее будет конструкция switch выглядеть.

Цитата(Aliance @ 4.10.2005, 21:14)
сделать ассоциативный массив, и сравнивать если $_GET['p'] == номер, то брать из массива и инклудить ту страницу, которая находится под данный номером в массиве.

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

Цитата(Aliance @ 4.10.2005, 21:14)
Правильно ли я мыслю и какие есть еще варианты?

Не плохо можно было бы замутить это на БД.

Автор: Mal Hack 4.10.2005, 22:08
А switch на что?

Автор: Aliance 5.10.2005, 00:01
switch или много if`ов тут разницы нет, задача не в этом, ведь этот метод не есть гуд - придется ручками все дописывать при каждом новом файле...
А вот массив, имхо, самое то, да и зачем файлы какие-то...

Вопрос собственно заключаетс - а какие еще способы.
Увидел "Использование БД" - как именно это тут может помочь?

Автор: Mal Hack 5.10.2005, 00:07
Цитата(Aliance @ 5.10.2005, 01:01)
switch или много if`ов тут разницы нет, задача не в этом, ведь этот метод не есть гуд - придется ручками все дописывать при каждом новом файле...
А вот массив, имхо, самое то, да и зачем файлы какие-то...

И что в этом страшного?

Можно сделать один if с in_array.

Цитата(Aliance @ 5.10.2005, 01:01)
Увидел "Использование БД" - как именно это тут может помочь?

Список модйлей в БД, оттуда вынимаешь имя файла на выполнение.

Автор: -=Ustas=- 5.10.2005, 06:07
Цитата(Aliance @ 5.10.2005, 00:01)
А вот массив, имхо, самое то, да и зачем файлы какие-то...

Что бы в коде ручками не править, а просто некий текст в текстовик добавляешь и всё.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)