динамическое изминение переменной в блоке switch

  • Автор темы Alexbank
  • Дата начала

Alexbank

Guest
динамическое изминение переменной в блоке switch

Приветствую всех проблема в следующем!!!
В блоке switch хотелось бы что б переменные формировались в цикле!!! вот примерно что я хочу сделать :
PHP:
require('news/bd.tpl'); ///---подключение бакзы MySQL
switch ($page){
while ($line = mysql_fetch_array($result)){
$inp=$line["npp"];
case 'index?page=news&number=$inp':
echo "выполняется условие";
break;
}
}
только это не работает, как можно по другому это решить !!!
 

iliah

Новичок
Alexbank
мне кажется, что если условие для switch можно определить в цикле, то ни цикл, ни сам switch не нужны
 

jer

...
iliah
ты сам понял что сказал?

Alexbank
а смысл пихать цикл между кейсами в свитч?

я подозреваю что тебя спасет вынесение цикла до свитча, либо если там несколько вариантов цикла, то делай отдельный свитч перед этим.
 

Фанат

oncle terrible
Команда форума
его спасет внятное изложение описания задач программы, которую он пишет.
 

jer

...
Фанат

это точно.

ты меня там спрашивал в закрытом посте, отвечаю ;) : да, разобрался в проблеме для себя. ну и общаюсь с народом теперь. хотя это мало связанно между собой.
 

Eduard

Новичок
require('news/bd.tpl'); ///---подключение бакзы MySQL
while ($line = mysql_fetch_array($result)){
$inp=$line["npp"];
switch ($page){
case 'index?page=news&number=$inp':
echo "выполняется условие";
break;
}
}

это больше похоже на правду

А так тебе не пойдет:

require('news/bd.tpl'); ///---подключение бакзы MySQL

while ($line = mysql_fetch_array($result)){
$inp=$line["npp"];
if ($_GET['page']=='news' && $_GET['number']==$inp)
echo "выполняется условие";
}
 

Alexbank

Guest
Попробую объяснить более подробней !!! есть страничка реализованная по средствам шаблонов, в которой есть таблица которая формируется из MySQL, при нажатий на любую из этих строк в таблице должен подключатся файл TPL, то есть ссылка формируется динамически и поэтому мне также нужно формировать значение переменной в case так же динамически.

-~{}~ 06.10.04 00:23:

Автор оригинала: Eduard
А так тебе не пойдет:

require('news/bd.tpl'); ///---подключение бакзы MySQL

while ($line = mysql_fetch_array($result)){
$inp=$line["npp"];
if ($_GET['page']=='news' && $_GET['number']==$inp)
echo "выполняется условие";
}
нет так не подходит эти значения переменных должы быть в case !!!
 

Eduard

Новичок
нет так не подходит эти значения переменных должы быть в case !!!
Интересно, почему?

-~{}~ 06.10.04 00:39:

Ты сам не понимаешь чего тебе надо!!!

Тебе надо определить на какую хрень в таблице нажали и в зависимости от этого вывести шаблон? Тгда чем тебе это не подходит (хотя, я бы так не делал)? Или я неправильно понял?
 

XiMiK

Новичок
Зачем в такой ситуации нужен switch я так и не понял, но насколько мне известно, переменное количество case`ов сделать невозможно, т.к. это такая конструкция языка.
Да и вобще нафиг он тебе здался этот свич? Его придумали совсем для других целей и это просто заменитель if.

Тебе помоему поможет конструкция типа:

while (...) {
if ($var == $my_value) { ... }
}

Свич тут не имеет смысла. А если ты не знаешь, что:

switch ($var) {
case 'a':
...
break;
case 'b':
...
break;
}

тоже самое что и

if ($ver == 'a') { ... }
if ($ver == 'b') { ... }

, то тебе уже никто не поможет.
 

Alexbank

Guest
Автор оригинала: XiMiK
тоже самое что и
if ($ver == 'a') { ... }
if ($ver == 'b') { ... }

, то тебе уже никто не поможет.
Спасибо на мысль на толкнул вот так я сделал и все ок
PHP:
if (isset($page)) {
///----действие-----
if (isset($nuber)){
while ($line = mysql_fetch_array($result)){
$inp=$line["npp"];
if ($page=='newsspisok' && $nuber==$inp)
{
///----действие-----
}}}}
 

XiMiK

Новичок
Alexbank
Я поражаюсь! А почему тебя не натолкнула на мысль страница про switch в мануале. Там примерно тоже самое написано.

Я теперь начинаю понимать, почему модеры этого форума привыкли посылать всех в мануал или на FAQ...
 

iliah

Новичок
XiMiK

switch ($var) {
case 'a':
...
break;
case 'b':
...
break;
}

тоже самое что и

if ($ver == 'a') { ... }
if ($ver == 'b') { ... }
а ты уверен в этом, может быть сам прогуляешься до мана и найдешь одно отличие?
 
Сверху