Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 11.08.2014, 12:43   #1
Parallelogram
Недотепа
Форумчанин
 
Регистрация: 18.01.2011
Сообщений: 174
По умолчанию Реализация условия

Дело такое, необходимо выполнить условие: если $res0 < $zap0 или $res1 > $zap1, то выполняется проверка на флаг. Если $flag = 1, то отправляем письмо ( с темой $subject0 / $subject1 соответственно) и изменяем флаг на 0. Во всех остальных случаях условие не должно выполняться.
Как это сделал я:
PHP код:
if($res0 $zap0 
    { 
    if (
$flag == 1
        { 
        
mail($to$subject0$message$ot);
        
mysql_query('UPDATE `tablica` SET flag = 0 WHERE id = 1');
        } 
    else {echo 
"flag_0 error";} 
    } 
else {echo 
"No_0";} 
 
if(
$res1 $zap1 
    { 
    if (
$flag == 1
        { 
        
mail($to$subject1$message$ot);
        
mysql_query('UPDATE `tablica` SET flag = 0 WHERE id = 1');
        } 
    else {echo 
"flag_1 error";} 
    } 
else {echo 
"No_1";} 
Как мне посоветовали:
PHP код:
if (  (($res0 $zap0) || ($res1 $zap)) && ($flag == 1)   ) 
{
        
mail($to$subject0$message$ot);
        
mysql_query('UPDATE `tablica` SET flag = 0 WHERE id = 1');

else {
        echo 
"error";
      } 
но необходимо, чтобы $subject0 и $subject1 соответствовали каждый своему условию.
Parallelogram вне форума Ответить с цитированием
Старый 11.08.2014, 17:33   #2
pompiduskus
юзер как все
Участник клуба
 
Аватар для pompiduskus
 
Регистрация: 10.01.2012
Сообщений: 1,586
По умолчанию

Второй вариант более правильнее. Он короток и все сразу понятно что к чему.

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

PHP код:
if (($res0 $zap0 || $res1 $zap) && $flag == 1){


По человечески это звучало бы там.

"ЕСЛИ" (( "тут парвда" "ИЛИ" "тут парвда" ) "И" "тут парвда"){

}

Но тогда не выходит с отправить нужное письмо. Поэтому можно еще вот так изменить твой вариант.

PHP код:

//сразу проверям флаг так как он один на двоих

if($flag == 1){
    if(
$res0 $zap0){

         
// отправляем пиьмо "0"
         
mail($to$subject0$message$ot);
         
mysql_query('UPDATE `tablica` SET flag = 0 WHERE id = 1');

    }else if(
$res1 $zap1){

         
// отправляем пиьмо "1"
         
mail($to$subject1$message$ot);        
         
mysql_query('UPDATE `tablica` SET flag = 0 WHERE id = 1');
    }else { echo 
" False;" }


<Дзен - Вся вселенная в тебе > | Резюме: https://ch3ll0v3k.github.io/CV/

Последний раз редактировалось pompiduskus; 11.08.2014 в 17:47.
pompiduskus вне форума Ответить с цитированием
Старый 11.08.2014, 19:11   #3
ADSoft
Старожил
 
Регистрация: 25.02.2007
Сообщений: 4,184
По умолчанию

Всегда следует отказываться от одинаковых кусков кода.

Лучше сюда добавить условие для темы
Код:
if (($res0 < $zap0 || $res1 > $zap) && $flag == 1){
If ($res0 < $zap0) $subject0='tema1' else $subject0='tema2'
}
ADSoft вне форума Ответить с цитированием
Старый 11.08.2014, 20:06   #4
pompiduskus
юзер как все
Участник клуба
 
Аватар для pompiduskus
 
Регистрация: 10.01.2012
Сообщений: 1,586
По умолчанию

Вооо это вообще шикарно. А я награмоздил
<Дзен - Вся вселенная в тебе > | Резюме: https://ch3ll0v3k.github.io/CV/
pompiduskus вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
vb условия muham33 Помощь студентам 17 15.01.2013 23:42
Реализация сложного условия sql atenon SQL, базы данных 2 05.08.2012 20:20
Условия if..else (c++) Inst Помощь студентам 2 13.05.2012 11:10
условия дружков Microsoft Office Excel 4 06.01.2012 14:34
Условия DartDayring Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 1 02.04.2010 10:08