[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Множество if-else
m4a1fox
Доброго времени суток господа. Появилась интересная задачка. Необходимо реализовать множество if-else условий на странице. То есть при выборе определенного условия в первом if-else нам соответственно выпадает определенный другой if-else. Их кол-во порядка 20-30. Вопрос, как быть, что юзать? Кроме очевидного конечно. Просто интересно мнение. Если к в практике сталкивались - прошу подсказки.



Спустя 38 минут (30.08.2012 - 10:14) YVSIK написал(а):
Конструкция if-else имеет еще один альтернативный синтаксис:

if (логическое_выражение):
команды;
elseif(другое_логическое_выражение):
другие_команды;
else:
иначе_команды;
endif

Обратите внимание на расположение двоеточия (:)! Если его пропустить, будет сгенерировано сообщение об ошибке. И еще: как обычно, блоки elseif и else можно опускать.

Конструкция elseif

elseif - это комбинация конструкций if и else. Эта конструкция расширяет условную конструкцию if-else.

Приведем синтаксис конструкции elseif:

if (логическое_выражение_1)
оператор_1;
elseif (логическое_выражение_2)
оператор_2;
else
оператор_3;

Практический пример использования конструкции elseif:

<?php
if ($a > $b) {
echo "a больше, чем b";
} elseif ($a == $b) {
echo "a равен b";
} else {
echo "a меньше, чем b";
}
?>


воооОО-ОБЩЕМ ТУТ ВСЕ ЕСТЬ вот и ТД. ;)

Спустя 5 минут, 5 секунд (30.08.2012 - 10:19) Michael написал(а):
Цитата (m4a1fox)
То есть при выборе определенного условия в первом if-else нам соответственно выпадает определенный другой if-else

Цитата
Раздел:PHP для знатоков

Где - в php что ли выпадает? smile.gif

В общем ничего не понятно.

Спустя 9 минут, 22 секунды (30.08.2012 - 10:28) m4a1fox написал(а):
Michael
Цитата
В общем ничего не понятно.

Поясню.
Выберите фрукт: яблоко, груша, слива.
Если яблоко, то, выберите цвет яблока: красное, зеленое, желтое.
Если желтое, то выберите размер, иначе если красное, выберите сорт, иначе - выберите место где яблоко выросло.
Место где яблоко выросло: Россия, Украина, Казахстан.
Если Россия, то........

И так может продолжаться очень долго. А ведь это только яблоко smile.gif
Есть еще фрукты. Проблема в том, что это конечно можно захаркодить. Но, если нужно будет что-то добавить, но логика вся полетит к коту под хвост.

Спустя 7 минут, 24 секунды (30.08.2012 - 10:36) Oyeme написал(а):
Посмотрите в сторону деревьев.
Где у Вас есть parent_id.
У Вас будет один метод который будет это всё обрабатывать.

А именно:
Куда вы подаете идентификатор,например parent_id и по parent_id уже вытаскиваете вcех children. wink.gif

Спустя 4 минуты, 58 секунд (30.08.2012 - 10:40) m4a1fox написал(а):
Oyeme
Вы так говорите..... такое ощущение что js+jq нужно будет использовать.

Спустя 3 минуты, 32 секунды (30.08.2012 - 10:44) Invis1ble написал(а):
Язык тут не причем, деревья - это способ хранения данных.

Спустя 6 минут, 57 секунд (30.08.2012 - 10:51) m4a1fox написал(а):
Invis1ble
Да понял уже.... тем не менее, если дерево - то это хардкор.

Спустя 1 минута, 21 секунда (30.08.2012 - 10:52) sergeiss написал(а):
Цитата (m4a1fox @ 30.08.2012 - 11:36)
Вопрос, как быть, что юзать? Кроме очевидного конечно.

Интересно вопрос поставлен, однако smile.gif А если для меня "очевидно" то, что для тебя таковым не является - и наоборот?

Я думаю, что вот этот ответ наиболее правильный:
Цитата (Oyeme @ 30.08.2012 - 12:36)
Посмотрите в сторону деревьев.
Где у Вас есть parent_id.
У Вас будет один метод который будет это всё обрабатывать.

Делаешь класс, в котором закладываешь нужный функционал. Создаешь представителя этого класса, который содержит ВСЕ данные. И пробегаешь по всем нужным веткам, собираешь данные или приходишь в конечную точку где, например, указано имя фунции, которую надо выполнить.

Либо - закладываешь данные в БД и ведешь выборку там. По принципу тех же деревьев.

И дерево - это не хардкор smile.gif Ты можешь добавлять данные, кто ж тебе мешает? Ты только логику пропиши правильно. В том же классе, например.

Спустя 39 минут, 56 секунд (30.08.2012 - 11:32) dron4ik написал(а):
Дерево... 100 пудово.... и редактировать проще будет) и совершенно не хард... а даже очень приемлемое решение)))

Спустя 23 минуты, 58 секунд (30.08.2012 - 11:56) m4a1fox написал(а):
Все спс! Ответ получил.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.