首页 > 解决方案 > 如何在 php 中仅显示 mysql 数据库中的第一张图片

问题描述

我有以下代码。如何在代码末尾显示索引为 0 的数据库中的第一张图像以显示大图像?现在它正在显示数据库中的最后一张图像。


    <div id="imgWheel" class="treatmentContainer">
   <?php
        $query = "SELECT * FROM images WHERE user = 0 ORDER BY id;";
        $result = $mysqli->query($query);
           while ($row = $result->fetch_array(MYSQLI_ASSOC)) {
             $product = $row["product"];
             $room = $row["room"];
             $style = $row["style"];
             $tags = $row["tags"];
             $src = $row["url"];
             $dataid = $row["id"];
                        
              $imgClass = "";
               if (in_array($src, $favourites)) {
                   $imgClass = " favourite";
               }
                        
echo "<div class='treatment$imgClass' data-url='$src' data-product='$product' data-room='$room' data-style='$style' data-tags='$tags' data-number='$dataid' id='pic_$dataid' >";
echo "<img src='$src' crossorigin='anonymous'/>";
echo "</div>";
}
?>   
                    
</div> <!-- close imgWheel -->   

<!-------- Large Image Display------- -->

<div id="display">
     <img  id="mainImage" src="<?php echo $src ?>" /> 
</div>

标签: phphtmlmysql

解决方案


您的结果集已经按 id 排序,因此您只需要一个变量,用第一个 imageurl 填充一次

<div id="imgWheel" class="treatmentContainer">
<?php
    $bigpictureurl = "";
    $query = "SELECT * FROM images WHERE user = 0 ORDER BY id;";
    $result = $mysqli->query($query);
       while ($row = $result->fetch_array(MYSQLI_ASSOC)) {
         $product = $row["product"];
         $room = $row["room"];
         $style = $row["style"];
         $tags = $row["tags"];
         $src = $row["url"];
         $dataid = $row["id"];
         if (empty($bigpictureurl)) {
             $bigpictureurl = $src ;
         }          
          $imgClass = "";
           if (in_array($src, $favourites)) {
               $imgClass = " favourite";
           }
                    
echo "<div class='treatment$imgClass' data-url='$src' data-product='$product' data-room='$room' data-style='$style' data-tags='$tags' data-number='$dataid' id='pic_$dataid' >";
echo "<img src='$src' crossorigin='anonymous'/>";
echo "</div>";
}
?>   
                    
</div> <!-- close imgWheel -->   

<!-------- Large Image Display------- -->

<div id="display">
     <img  id="mainImage" src="<?php echo $bigpictureurl ?>" /> 
</div>

推荐阅读