PHP根据正数或负数显示图像

时间:2018-06-14 14:51:20

标签: php

我需要显示:

  

/images/image1.jmp如果数字是正数

  

/images/image2.jpg如果数字为负数

  如果数字为0,则

/ images / image3。

$stmt = sqlsrv_query($conn,$sql);
    echo "<table border='1'><tr><th>Offense</th><th>Previous Date Range</th><th>Current Date Range</th><th>Difference</th><th>Percentage Difference</><th>Up or down image in this column</></tr>";

while( $row = sqlsrv_fetch_array($stmt, SQLSRV_FETCH_ASSOC) ) 
{
    echo "<tr>";
    echo "<td>" . $row['Offense']. "</td>";
    echo "<td>" . $row['PreviousDateRange']."</td>";
    echo "<td>" . $row['DateRange']."</td>";
    echo "<td>" . $row['difference1']."</td>";
    echo "<td>" . $row['percentchange']."</td>";
    echo "<td>" . $row['']. "</td>";
    }
    echo "</table>";         

 ?>

我找到了这段代码,如果将其合并到echo "<td>" . $row['']. "</td>但没有任何运气,我尝试了不同的方法。

我得到了代码但无法操纵它以适应它需要做的事情。我确定这是一个简单的解决方案。沮丧。

switch ($myNumber) {
  case 0:
    echo "Zero is not a valid value.";
    break;
  case $myNumber < 0:
    echo "Negative numbers are not allowed.";
    break;
  default:
    echo "Great! Ready to make calculations.";
    break;
}

感谢帮助人员。得到了有效的答案。

3 个答案:

答案 0 :(得分:0)

您没有告诉我们$myNumber来自哪里,所以如果变量名称不同,只需在下面的代码中修改它。

echo '<td>/images/image' . ($myNumber == 0 ? '3' : ($myNumber >= 1 ? '1' : '2')) . '.jpg</td>';

答案 1 :(得分:0)

我认为这是一个更具可读性的解决方案 我使用数组来保存链接并使用计算来查看它是否为负数。

$img = ["-1" => "/images/image2.jpg", 
"0" => "/images/image3.jpg",
"1" => "/images/image1.jpg"];

$number = 0;

Echo ($number == 0 ? $img[$number] : $img[$number/abs($number)]);

https://3v4l.org/JstZl

如果数字为正数,则计算结果为15/15 => 1 如果数字为负数-10/10 => -1

编辑:

$stmt = sqlsrv_query($conn,$sql);
echo "<table border='1'><tr><th>Offense</th><th>Previous Date Range</th><th>Current Date Range</th><th>Difference</th><th>Percentage Difference</><th>Up or down image in this column</></tr>";
$img = ["-1" => "/images/image2.jpg", 
"0" => "/images/image3.jpg",
"1" => "/images/image1.jpg"];


while( $row = sqlsrv_fetch_array($stmt, SQLSRV_FETCH_ASSOC) ) 
{
    echo "<tr>";
    echo "<td>" . $row['Offense']. "</td>";
    echo "<td>" . $row['PreviousDateRange']."</td>";
    echo "<td>" . $row['DateRange']."</td>";
    echo "<td>" . $row['difference1']."</td>";
    echo "<td>" . $row['percentchange']."</td>";
    Echo '<td><img src="' . ($row['percentchange'] == 0 ? $img[$row['percentchange']] : $img[$row['percentchange']/abs($row['percentchange'])]) . '"></td>';
}
echo "</table>";         

答案 2 :(得分:0)

尝试:

if($myNumber < 0) {
    //show /images/image2.jpg
}
if($myNumber == 0) {
    //show /images/image3
}
if($myNumber > 0) {
    //show /images/image1.jmp
}

在您的代码中:

while( $row = sqlsrv_fetch_array($stmt, SQLSRV_FETCH_ASSOC) ) 
{
  echo "<tr>";
  echo "<td>" . $row['Offense']. "</td>";
  echo "<td>" . $row['PreviousDateRange']."</td>";
  echo "<td>" . $row['DateRange']."</td>";
  echo "<td>" . $row['difference1']."</td>";
  echo "<td>" . $row['percentchange']."</td>";

  echo "<td>";
    if($row['percentchange'] < 0) {
      //show /images/image2.jpg
    }
    if($row['percentchange'] == 0) {
      //show /images/image3
    }
    if($row['percentchange'] > 0) {
      //show /images/image1.jmp
    }
  echo "</td>";

}

根据您的其他评论,我们假设$row['percentchange']是您特别关注的数字。