2013-12-19 196 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