2015-07-06 1 views
-2

У меня есть функция, которая выводит переменную определенного цвета в зависимости от содержимого указанной переменной, однако в настоящее время она выводит тот же ответ на инструкцию IF, даже если оператор IF не является истиннымЕсли выражение в функции PHP

function info($ride) { 
    $query = mysql_query("SELECT * FROM `qtd` WHERE `name` = '$ride'"); 
    $rideinfo = mysql_fetch_array($query); 

    $time = $rideinfo["time"]; 

    if ($time != "Unavailable" || $time != "CLOSED") { 
     echo "<center><font color=\"228B22\"><b>$time</b></font></center>"; 
    } 

    if ($time == "Unavailable" || $time == "CLOSED") { 
     echo "<center><font color=\"B22222\">$time</font></center>"; 
    } 
} 

в настоящее время $time всегда быть выводимый с # 228B22 даже если значение $time = "Unavailable" или "CLOSED"

+4

Если вы можете, вы должны [прекратить использование '' mysql_ * функции] (http://stackoverflow.com/questions/12859942/почему-я-не должны назначения-MySQL-функции-в-РНР). Они больше не поддерживаются и [официально устарели] (https://wiki.php.net/rfc/mysql_deprecation). Узнайте о [подготовленном] (http://en.wikipedia.org/wiki/Prepared_statement) [заявлениях] (http://php.net/manual/en/pdo.prepared-statements.php) и рассмотрите возможность использования PDO , [это действительно не сложно] (http://jayblanchard.net/demystifying_php_pdo.html). –

ответ

5

Вы должны изменить свое первое условие, потому что это всегда true:

if ($time != "Unavailable" && $time != "CLOSED"){echo "<center><font color=\"228B22\"><b>$time</b></font></center>";} 
if ($time == "Unavailable" || $time == "CLOSED"){echo "<center><font color=\"B22222\">$time</font></center>";} 

В этом случае вы можете изменить его, если-другое заявление:

if ($time != "Unavailable" && $time != "CLOSED"){ 
    echo "<center><font color=\"228B22\"><b>$time</b></font></center>"; 
} else { 
    echo "<center><font color=\"B22222\">$time</font></center>"; 
} 
Смежные вопросы