繁体   English   中英

如果和其他都不起作用

[英]If and else won't work

因此,我想这很简单,但是我真的无法弄清楚。

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

它显示折扣价(如果有),但是不显示正常价格(如果没有)?

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'];
      }

    ?>

你可以试试这个吗

<?php

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

?>

我想即使没有折扣值,变量也仍然存在。

请尝试使用array_key_exists而不是使用isset 尽管有些系统似乎允许使用isset来检查数组中的键,但前一段时间我还是学到了一些很难的方法。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM