I'm trying to pull the most recent four images from a database into a carousel. The images are stacking on top of each other as one single slide of the carousel. I want them to be on four separate slides.
The carousel code:
<div id="display" class="carousel" data-ride="carousel">
<!-- Indicators -->
<ul class="carousel-indicators">
<li data-target="#display" data-slide-to="0" class="active"></li>
<li data-target="#display" data-slide-to="1"></li>
<li data-target="#display" data-slide-to="2"></li>
<li data-target="#display" data-slide-to="3"></li>
</ul>
<!-- The slideshow -->
<div class="carousel-inner">
<?php
$db = mysqli_connect("localhost", "root", "", "gallery") or die(mysqli_error($db));
$q = "SELECT artefact_id, imagename FROM artefact ORDER BY artefact_id DESC LIMIT 4";
$results = mysqli_query ($db, $q) or die(mysqli_error($db));
$row = mysqli_fetch_array($results);
print "<div class='item active'>
<img src='images/{$row['imagename']}'>
</div>\n";
while($row=mysqli_fetch_array($results))
print "<div class='item'>
<img src='images/{$row['imagename']}'>
</div>\n"
?>
</div>
<!-- Left and right controls -->
<a class="left carousel-control" href="#display" data-slide="prev">
<span class="glyphicon glyohicon-chevron-left" aria-hidden="true"></span>
<span class ="sr-only">Previous</span>
</a>
<a class="left carousel-control" href="#display" data-slide="next">
<span class="glyphicon glyohicon-chevron-right" aria-hidden="true"></span>
<span class ="sr-only">Next</span>
</a>
<iframe name="sif1" sandbox="allow-forms allow-modals allow-scripts" frameborder="0"></iframe>
I have included these:
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css">
<!-- jQuery library -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<!-- Popper JS -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.16.0/umd/popper.min.js"></script>
<!-- Latest compiled JavaScript -->
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.5.2/js/bootstrap.min.js"></script>
<link rel="stylesheet" href="css/style.css">
I will leave an example of what I mean here.
CodePudding user response:
Your class names for the items are wrong. According to https://getbootstrap.com/docs/4.5/components/carousel/ the class names should be carousel-item
, not item
.
Change
<div class='item active'>
to <div class='carousel-item active'>
and <div class='item'>
to <div class='carousel-item'>