2013-12-19 563 views
0

得到一個表格,顯示每個季度的值。If Elseif Else in PHP based on MYSQL query results

 
+--------------+-------------------+ 
| Quarter  | Value    | 
+--------------+-------------------+ 
|2012.Q4  |17000    | 
|2013.Q1  |18000    | 
|2013.Q2  |19000    |x 
|2013.Q3  |26600    |x 
+--------------+-------------------+ 

得到一個mysql查詢來計算最後兩行之間的差異。

MySQL的這個例子的結果給出:7600

我想說明根據結果的圖標(根據fontawesome的字體圖標)

If the result > 0 , I want to show the result with icon-caret-up 
If the result = 0 , I want to show the result with icon-caret-right 
If the result < 0 , I want to show the result with icon-caret-down 

所以我加了下面的PHP代碼:

<?php 
    $reponse=mysql_query("My SQL Query"); 

if ($reponse > 0) { 
echo "<h1 class=\"uk-text-center uk-margin-bottom-remove\">".(mysql_result($reponse, 0))."<i class=\"uk-icon-caret-up\"></i></h1>"; 
} 

elseif ($reponse == 0) { 
echo "<h1 class=\"uk-text-center uk-margin-bottom-remove\">".(mysql_result($reponse, 0))."<i class=\"uk-icon-caret-up\"></i></h1>"; 
} 

else { 
echo "<h1 class=\"uk-text-center uk-margin-bottom-remove\">".(mysql_result($reponse, 0))."<i class=\"uk-icon-caret-down\"></i></h1>"; 
} 

?> 

無論結果如何,即使它是一個負數或等於零,我只拿到了第一選擇顯示圖標,脫字了。

任何想法,我是一個PHP新手。

我提前感謝你。

問候。

回答

1

首先,mysql_ *函數已被棄用,您需要使用PDO或MySQLi進行新的開發。

其次,如文檔所述,mysql_query返回資源。 http://php.net/mysql_query該頁面上有很多關於如何使用它的例子。

執行查詢後,您必須獲取一行。 (編輯:我看到你已經知道這一點,因爲你正在做下一行,用mysql_result - 你只需要在嘗試做比較之前使用它。)

$row = mysql_fetch_assoc($reponse)然後$row將是一個數組值。由於您沒有顯示您選擇的實際字段名稱,因此我無法告訴您接下來要做什麼,但請閱讀文檔。

現在,一旦您獲得了該代碼集,就可以簡化您的HTML打印。

$amount = mysql_result($reponse, 0); 

if($amount > 0){ 
    $caret = 'up'; 
}else if($amount == 0){ 
    $caret = 'right'; 
}else{ 
    $caret = 'down'; 
} 
echo '<h1 class="uk-text-center uk-margin-bottom-remove">'.$amount.'<i class="uk-icon-caret-'.$caret.'"></i></h1>'; 

最後一行,也可以echo "<h1 class=\"uk-text-center uk-margin-bottom-remove\">{$amount}<i class=\"uk-icon-caret-{$caret}\"></i></h1>";但我個人覺得逃避報價煩人。所以我換了它。

+0

它像一個魅力工作。順便說一句,非常感謝您的建議,我是一個PHP新手,所以我正在學習基本概念,即使它已被棄用。這只是切換到PDO和PHP框架之前的第一步。再次,非常感謝所有。問候! – Jays

+0

不客氣 - 祝您好運! – Jessica