尝试添加用户可以看到的折扣

trying to add discount that users can see

我想为我的产品添加折扣,以便用户可以看到带有折扣编号的折扣产品,但我遇到了一些问题,我认为我的想法是正确的,但效果不佳,这是我的代码

 $get = mysqli_query($conn," SELECT * FROM products WHERE quantity >0 GROUP BY product_name  LIMIT ".$this_page_first_result.','.$result_per_page);
$number_of_results=mysqli_num_rows($get);
while ($row=mysqli_fetch_array($get)) {
    $id = $row['product_id'];
    $name = $row['product_name'];
    $type = $row['type'];
    $img = $row['img'];
    $weight=$row['weight'];
    $price=$row['product_price'];
?>


<article  style="background-color: white; border-left-width: 2px; border-bottom-width: 2px;margin :4px;   box-shadow: 2px 2px 3px 2px #65b7c2;
">
  <img src="adminpanel/product_img/<?php echo $img?>" alt="" style="height:13rem;width:13rem;">
  <h3 ><?php echo $name;?></h3>
  <?php 
         $dis=mysqli_query($conn,"SELECT discount FROM products WHERE product_name='$name'");
         $rowdis=mysqli_fetch_array($dis);

         $discount=$rowdis['discount'];
         if (mysqli_num_rows($dis)==1) 
         {
            ?>
            <h4>$<?php echo $discount ?></h4>
            <?php
         }
         else
         {
         ?>

<h4>$<?php echo $price ?></h4>
<?php
}
    ?>

所以我有一个名为 discount 的文件,如果该文件有值,则显示该值,如果不显示产品价格,它会显示该产品的折扣值,但当它没有值时,它应该显示正常值价格但它不只显示数据库中的最后一项显示正常价格这里有一张图片更清楚其他值显示 0 谁能告诉我我哪里出错了 img

您需要将您的 if 条件替换为以下条件 -

<?php if (mysqli_num_rows($dis)==1 && !empty($discount)){ ?>
    <h4>$<?php echo $discount ?></h4>
<?php } else { ?>
        <h4>$<?php echo $price ?></h4>
<?php } ?>

因为您有一些行 $rowdis 但它们是空的(值 0)。