Оператор If показывает двойные результаты

#php

#php

Вопрос:

Я показываю два типа списков. Один — аукцион, а второй — buynow. Я сохраняю тип списка в базе данных как «тип». я хочу, чтобы, когда тип списка — auction, тогда должно отображаться изображение молотка (auction.png), а когда тип списка — buynow, тогда должен отображаться. Но в моем текущем коде, где тип списка — «аукцион», он отображает как auction.png, так и . Пожалуйста, руководство

Вот мой код

       <?php
        
            $SelectListings = mysqli_query($con, "SELECT * FROM seller_listings");
            while($row=mysqli_fetch_assoc($SelectListings)){
                
                $type = $row['type'];
                
                $imgName        = mysqli_query($con, "SELECT * FROM images WHERE images_id='".$row['images_id']."'");
                $image          = mysqli_fetch_assoc($imgName);
        ?>
        
        <div class="col-md-3 cust-padd">
            <a href="">
                <div class="item-box">
                    <div class="item-img">
                        <img src="img/product-img8.jpg">
                    </div>
                    <div class="item-price-card">
                    <?php
                    if($type=="auction"){ ?>
                    
                        <span>$2,500.00 <img src="img/auction.png"></span>
                    
                    <?php } else { ?>
                        
                    
                    <?php } ?>
                        <span>$2,500.00 <i class="fa fa-tag"></i></span>
                    </div>
                </div>
  <?php } ?>
  

Комментарии:

1. Ваш else блок пуст. Я думаю, вы хотели поместить туда второе <span> внутри?

Ответ №1:

Второй <span> находится за пределами условий.

Изменить:

 <?php } else { ?>
    

<?php } ?>
    <span>$2,500.00 <i class="fa fa-tag"></i></span>
  

Для:

 <?php } else { ?>
    
    <span>$2,500.00 <i class="fa fa-tag"></i></span>

<?php } ?>
  

Должен это исправить.