[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: if (...) { if (...) {if (...){..{..}..}}
Mirexzpalich
Существует ли ограничение на такого рода конструкцию?

Просто вот етот участок у меня не пашет


if ($sor == "call")
{
if ($sor == $_GET["call1"])
{
if ($kak == "ASC")
{
$result = mysqli_query(
$link,
'SELECT name,name_lessons,stop,start,familly,suffix,cost
FROM prepod,lessons
WHERE prepod.prepod_id = lessons.prepod_id
ORDER BY name_lessons
DESC'
);
$kak = "DESC";
}
else
{
$result = mysqli_query(
$link,
'SELECT name,name_lessons,stop,start,familly,suffix,cost
FROM prepod,lessons
WHERE prepod.prepod_id = lessons.prepod_id
ORDER BY name_lessons
ASC'
);
$kak = "ASC";
}

}

esle

{
$result = mysqli_query(
$link,
'SELECT name,name_lessons,stop,start,familly,suffix,cost
FROM prepod,lessons
WHERE prepod.prepod_id = lessons.prepod_id
ORDER BY name_lessons
ASC'
);
}
}
;

Вроде все верно. Но стоит закоментировать часть:
if($sor == "call")
{
if($sor == $_GET["call1"])
{
if($kak == "ASC")
{
$result = mysqli_query(
$link,
'SELECT name,name_lessons,stop,start,familly,suffix,cost
FROM prepod,lessons
WHERE prepod.prepod_id = lessons.prepod_id
ORDER BY name_lessons
DESC'
);
$kak = "DESC";
}
else
{
$result = mysqli_query(
$link,
'SELECT name,name_lessons,stop,start,familly,suffix,cost
FROM prepod,lessons
WHERE prepod.prepod_id = lessons.prepod_id
ORDER BY name_lessons
ASC'
);
$kak = "ASC";
};
}
/*
esle

{
$result = mysqli_query(
$link,
'SELECT name,name_lessons,stop,start,familly,suffix,cost
FROM prepod,lessons
WHERE prepod.prepod_id = lessons.prepod_id
ORDER BY name_lessons
ASC');
}*/


};

То робит. Но мне и закомментированная часть нужна.



Спустя 1 час, 41 минута, 58 секунд (4.03.2010 - 02:26) inpost написал(а):
я комментированную часть делаю: // а не /* */

Спустя 20 минут, 37 секунд (4.03.2010 - 02:47) dr_Lev написал(а):
а что вообще обозначает строка?
esle echo "weewer</BR>";

замени на
else
и будет тебе счастье...

Спустя 6 часов, 44 минуты, 9 секунд (4.03.2010 - 09:31) sergeiss написал(а):
Цитата (Mirexzpalich @ 4.03.2010 - 01:44)
if ($sor == "call")
{
if ($sor == $_GET["call1"])
{

А это что такое? У тебя переменная $sor должна быть равно одновременно 'call' и $_GET['call1']???
Если да, то так и напиши, сократи список условий. Если нет, то пересмотри логику.
Плюс к этому, я не понял вот тут (даже с учетом исправления на else):
Цитата (Mirexzpalich @ 4.03.2010 - 01:44)
else
echo "weewer</BR>";
{
...
}

что тут за блок такой? При выполнении ЭЛСЕ у тебя будет выполнен только один оператор echo, а часть в скобках будет выполнена в любом случае. То есть, скобки тут не нужны!!!

Спустя 34 минуты, 57 секунд (4.03.2010 - 10:06) Winston написал(а):
Цитата (Mirexzpalich @ 3.03.2010 - 23:44)
$kak = "ASC";
};

Стоит ; после фигурных скобок, убери точку с запятой.

Спустя 9 часов, 2 минуты, 20 секунд (4.03.2010 - 19:08) Mirexzpalich написал(а):
Извините за echo "weewer</BR>"; Просто ее вставил для проверки, а потом забыл удалить sad.gif
Но даже выполнения всех рекомендаций ни работало. И тут мне пришла "ГЕНИАЛЬНАЯ" мысль:

	if ($sor=="call"){  

if ($sor==$_GET["call1"])
{
if ($kak=="ASC")
{
$result=mysqli_query($link,'SELECT name,name_lessons,stop,start,familly,suffix,cost FROM prepod,lessons WHERE prepod.prepod_id=lessons.prepod_id ORDER BY name_lessons DESC');
$kak="DESC";
}
else {
$result=mysqli_query($link,'SELECT name,name_lessons,stop,start,familly,suffix,cost FROM prepod,lessons WHERE prepod.prepod_id=lessons.prepod_id ORDER BY name_lessons ASC');
$kak="ASC";
}
}
;
if ($sor!=$_GET["call1"]) {
$result=mysqli_query($link,'SELECT name,name_lessons,stop,start,familly,suffix,cost FROM prepod,lessons WHERE prepod.prepod_id=lessons.prepod_id ORDER BY name_lessons ASC');
}
}
;

Заработало!


По поводу :
if ($sor == "call")
{
if ($sor == $_GET["call1"])
{....


Переменные $sor и $_GET["call1"] могут принимать значение "call".

Спустя 3 часа, 26 минут, 2 секунды (4.03.2010 - 22:34) sergeiss написал(а):
Mirexzpalich - во-первых, используй, плз, тэги оформления кода! Очень удобно его читать, когда он красивый цветной.
А во-вторых, вот это сравнение - некрасиво (если не говорить прямо, что это маразм smile.gif)
Цитата (Mirexzpalich @ 4.03.2010 - 20:08)
if ($sor == "call")
{
if ($sor == $_GET["call1"])
{....

Потому что во внутренний ИФ попадем только в случае, если $_GET['call1'] == 'call'. Других вариантов нету!!! Ну так и пиши это условие.

Спустя 4 часа, 30 минут, 59 секунд (5.03.2010 - 03:05) Mirexzpalich написал(а):
Цитата (sergeiss @ 4.03.2010 - 19:34)
Mirexzpalich - во-первых, используй, плз, тэги оформления кода! Очень удобно его читать, когда он красивый цветной.
А во-вторых, вот это сравнение - некрасиво (если не говорить прямо, что это маразм smile.gif)
Цитата (Mirexzpalich @ 4.03.2010 - 20:08)
if ($sor == "call")
{
if ($sor == $_GET["call1"])
{....

Потому что во внутренний ИФ попадем только в случае, если $_GET['call1'] == 'call'. Других вариантов нету!!! Ну так и пиши это условие.

Вместо последней ; в полном коде стоит esle (....} Поэтому у меня столько повторений.


_____________
Дорогу осилит идущий...
Быстрый ответ:

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