簡體   English   中英

帶有 php 的引導卡中的圖像輪播

[英]image carousel in bootstrap card with php

我正在使用 php 來顯示來自數據庫的圖像。 我正在嘗試制作旋轉木馬,因為現在我的圖像在彼此下方。 我真的不明白我應該怎么做,因為我只使用一次 $row['image'] 在一段時間內獲取數據,並且輪播還需要更多帶有活動標簽的類。 這是它現在的樣子:

php 的結尾:

...
while ($row = $res->fetch_assoc()) {
$image = $row['image'];
$data[] = $row;
?>
<?php
echo "<img class='card-img-top' style='padding-bottom: 5px;' src='" . $image . "' />";
}
?>

這是現在的樣子: 圖像1

這就是它的樣子: 圖2

我想使用的輪播: https://www.w3schools.com/bootstrap4/tryit.asp?filename=trybs_carousel

旋轉木馬 html:

<div id="carouselExampleIndicators" class="carousel slide" data-ride="carousel">
  <ol class="carousel-indicators">
    <li data-target="#carouselExampleIndicators" data-slide-to="0" class="active"></li>
    <li data-target="#carouselExampleIndicators" data-slide-to="1"></li>
    <li data-target="#carouselExampleIndicators" data-slide-to="2"></li>
  </ol>
  <div class="carousel-inner">
    <div class="carousel-item active">
      <img class="d-block w-100" src=".../800x400?auto=yes&bg=777&fg=555&text=First slide" alt="First slide">
    </div>
    <div class="carousel-item">
      <img class="d-block w-100" src=".../800x400?auto=yes&bg=666&fg=444&text=Second slide" alt="Second slide">
    </div>
    <div class="carousel-item">
      <img class="d-block w-100" src=".../800x400?auto=yes&bg=555&fg=333&text=Third slide" alt="Third slide">
    </div>
  </div>
  <a class="carousel-control-prev" href="#carouselExampleIndicators" role="button" data-slide="prev">
    <span class="carousel-control-prev-icon" aria-hidden="true"></span>
    <span class="sr-only">Previous</span>
  </a>
  <a class="carousel-control-next" href="#carouselExampleIndicators" role="button" data-slide="next">
    <span class="carousel-control-next-icon" aria-hidden="true"></span>
    <span class="sr-only">Next</span>
  </a>
</div>

如您所見,有不同的 div。 但我不能多次使用 $image 。 那么我應該如何實現呢?

從 DB 收集項目和按鈕,確保只有第一個項目/按鈕具有active class。 鏈接代碼的工作示例:

<?php
  
$carouselItems = '';
$carouselButtons = '';

$i = 0;
while ($row = $res->fetch_assoc()) { 
    $class = ($i == 0) ? 'active' : '';
    $carouselButtons .= "<li data-target='#demo' data-slide-to='{$i}' class='{$class}'></li>";
    $carouselItems .= "<div class='carousel-item $class'>
            <img src='{$row['image']}' width='1100' height='500'>
        </div>";
    var_dump($row);
    $i++;

}
?>
<body>
<head>
    <title>Bootstrap Example</title>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.5.0/css/bootstrap.min.css">
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.16.0/umd/popper.min.js"></script>
    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.5.0/js/bootstrap.min.js"></script>

    <style>
        /* Make the image fully responsive */
        .carousel-inner img {
            width: 100%;
            height: 100%;
        }
    </style>
</head>
<div id="demo" class="carousel slide" data-ride="carousel">
    <ul class="carousel-indicators">
        <?php echo $carouselButtons; ?>
    </ul>
    <!-- The slideshow -->
    <div class="carousel-inner">
        <?php echo $carouselItems; ?>
    </div>
    <!-- Left and right controls -->
    <a class="carousel-control-prev" href="#demo" data-slide="prev">
        <span class="carousel-control-prev-icon"></span>
    </a>
    <a class="carousel-control-next" href="#demo" data-slide="next">
        <span class="carousel-control-next-icon"></span>
    </a>
</div>
</body>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM