有一个表格显示每季度的值。
+--------------+-------------------+ | 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的新手。
我提前感谢你。
问候。
答案 0 :(得分: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>";
但我个人觉得逃避引号很烦人。所以我换了它。