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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Разбор ссылок с множеством параметров 
:(
    Опции темы
genialno
Дата 9.11.2009, 01:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Приветствую.
Вот, допустим есть на сайте ссылки.
4-я -это расширение 3-й, 3-я - 2-й, 2-я -1-й.
Мне непонятно, как делать разбор ссылок. Выше был дан совет, но я вот и пытался так делать. Если пару параметров, то можно, но если как в 4-й ссылке, их много, то через isset делать- убийство. Или я тогда чего-то не понял.

1)index.php?id=AAA
2)index.php?id=AAA&brand=BBB
3)index.php?id=AAA&brand=BBB&model=CCC
4)index.php?id=AAA&brand=BBB&model=CCC&param1=p1&param2=p2&....&paramN=pN
----------------------
5)index.php?id=&agr=DDD
6)index.php?id=AAA&agrg=EEE
7)index.php?id=PPP&brand=MMM&model=CCC&param1=p1&param2=p2&....&paramN=pN

Вот делал разбор ссылок вышенаписанных(без 4 ссылки). Ну ещё как-то сделал.
Но каким образом обрабатывать большие, с многими параметраси ссылки, т.е постепенно нарастающие (1-2-3-4).
Предложите вариант решения.
Код

if ($_GET['id']=='AAA')
{
    if (isset($_GET['brand']))
    {
        if (isset($_GET['model']))
        {
            func1();
        }
        else
        {
            if ($_GET['brand'] =='qwe')
            func2();
        }
    }
    else
    {
        if (isset($_GET['agr']))
        {
            func3();
        }
        else {
            if (isset($_GET['agrg']))
            {
                func4();
            }
            else{
                func5();
            }
        }
    }
}

PM MAIL   Вверх
Pitlord
Дата 9.11.2009, 01:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Цитата(genialno @  9.11.2009,  01:25 Найти цитируемый пост)
3)index.php?id=AAA&brand=BBB&model=CCC

Зная идентификатор модели Вы не можете определить бренд? Организуйте всю эту иерархию с помощью таблиц базы данных. Одну на каждую из сущностей: brands, models и т.д.

Потом, создайте несколько файлов: brand.php, model.php и т.д., в которых будет формироваться необходимая страница.

И передавайте 2 значения: сущность (brand, model, ...) и идентификатор:

/brand.php?id=1
/model.php?id=1

Посмотрите исходники чужих проектов, в конце концов.

Это сообщение отредактировал(а) Pitlord - 9.11.2009, 01:56
PM MAIL   Вверх
NewDima
Дата 9.11.2009, 08:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 922
Регистрация: 20.2.2006
Где: <?here?>

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



genialno, у вас вся логика приложения свалена в одном месте? Нет, конечно, точка входа в одном файле - ИМХО хорошо, но вотм в одном месте определять движение всей системы, это бред, у вас никакой декомпозиции, разделите задачу на подзадачи, не надо все в одну кучу. 
PM ICQ   Вверх
Ипатьев
Дата 9.11.2009, 10:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



genialno, а в чем задача-то состоит?
что надо получить в итоге из этих параметров?
конкретно, что должно происходить по каждой из 4 ссылок?


Это сообщение отредактировал(а) Ипатьев - 9.11.2009, 10:15
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

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

Важно:

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

Внимание:

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

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

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


 




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


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

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