如果,否则不会工作

时间:2015-04-14 12:55:55

标签: php if-statement

所以,我想这很简单,但我无法弄明白。

我试图显示折扣价,如果它在数据库中设置,如果没有,则显示正常价格。

它显示折扣价格,如果它在那里,但它不显示正常价格,如果它不存在?

if (isset($row['discount']))
      {
        echo $row['discount'];
      }

      else
      {
        echo $row['price'];
      }

Var转储

300 array(14) { [0]=> string(1) "1" ["id"]=> string(1) "1" [1]=> string(14) "Shoon slips UK" ["navn"]=> string(14) "Shoon slips UK" [2]=> string(17) "Importeret fra UK" ["tekst"]=> string(17) "Importeret fra UK" [3]=> string(3) "450" ["pris"]=> string(3) "450" [4]=> string(3) "300" ["tilbud"]=> string(3) "300" [5]=> string(59) "http://localhost/slipseknuden/assets/img/slips/slips1_2.jpg" ["billede"]=> string(59) "http://localhost/slipseknuden/assets/img/slips/slips1_2.jpg" [6]=> string(5) "Shoon" ["ka

整个代码     

  $sql = "SELECT * FROM produkt ORDER BY RAND() LIMIT 2";
  $result = mysqli_query($db, $sql);

  while($row = mysqli_fetch_array($result)) {

?>

<div class="media">
  <div class="media-left media-middle">
    <a href="#">
      <img class="media-object sideobject" src="<? echo $row['billede']; ?>" alt="<? echo $row['navn']; ?>">
    </a>
  </div>
  <div class="media-body">

    <h3><? echo $row['navn']; ?></h3>
    <p><? echo $row['tekst']; ?>...</p>

    <?php

      if (isset($row['tilbud']))
      {
        echo $row['tilbud'];
      }
      else
      {
        echo $row['pris'];
      }

    ?>

2 个答案:

答案 0 :(得分:1)

你可以试试这个。

<?php

  if (isset($row['tilbud']) && !empty($row['tilbud']))
  {
    echo $row['tilbud'];
  }
  else
  {
    echo $row['pris'];
  }

?>

我猜即使折扣价值不存在,变量仍然存在。

答案 1 :(得分:1)

请尝试使用isset而不是array_key_exists。虽然有些系统似乎允许isset来检查数组中的某个键,但我有一段时间以前的方式学到了很多困难。

if( array_key_exists('discount',$row) )
    echo $row['discount'];
else
    echo $row['price'];