PHP引导轮播

时间:2018-07-04 16:48:34

标签: php mysql html5 pdo twitter-bootstrap-3


我有这段代码可以从数据库中获取轮播Img或视频


        $stmt = $con->prepare("SELECT * FROM `Main`");
        $stmt->execute();
        $rows = $stmt->fetchAll();
        return $rows;


并显示该轮播的代码
它必须仅显示数据库中的图像或视频


<?php
$check = $pageClass->mainPage("check");
if ($check > 0) {
    $sliders        = $pageClass->mainPage("select","Slider");
    $allowedImg     = array("png","jpg","jpeg","bmp","gif");
    $allowedVideo   = array("mp4","mkv","flv","avi","3gp");
    ?>
    <section class="clients-opinion">
        <div class="container">
            <header class="text-center">
                <h3 class="h1">See what our graduates are <br />saying about the plan</h3>
            </header>
            <div id="myCarousel" class="carousel slide" data-ride="carousel">
                <ol class="carousel-indicators">
                <?php
                    for ($i = 0;$i < count($sliders);$i++) {
                        if ($i == 0) {?>
                    <li data-target="#myCarousel" data-slide-to="<?php echo $i; ?>" class='active'></li>
                    <?php   } else { ?>
                    <li data-target="#myCarousel" data-slide-to="<?php echo $i; ?>"></li>
                <?php   }
                    }?>
                </ol>
              <div class="carousel-inner">
                <?php
                foreach ($sliders as $slider) {
                    for ($i = 0; $i < count($sliders); $i++) {
                        if ($i == 0) {?>
                            <div class="item active">
                                <?php
                                    $explodedSlider = explode(".", $slider['Slider']);
                                    $sliderType     = strtolower(end($explodedSlider));
                                    if (in_array($sliderType, $allowedImg)) {?>
                                        <img src="<?php echo $imgUploads . $slider['Slider']; ?>" alt="">
                              <?php } else if (in_array($sliderType, $allowedVideo)) { ?>
                                        <video controls="controls">
                                            <source src="<?php echo $vidUploads . $slider['Slider']; ?>" type="video/<?php echo $sliderType; ?>" />
                                        </video>
                            <?php   } ?>
                            </div><?php
                        } else {?>
                            <div class="item">
                                <?php
                                    $explodedSlider = explode(".", $slider['Slider']);
                                    $sliderType     = strtolower(end($explodedSlider));
                                    if (in_array($sliderType, $allowedImg)) {?>
                                        <img src="<?php echo $imgUploads . $slider['Slider']; ?>" alt="">
                              <?php } else if (in_array($sliderType, $allowedVideo)) { ?>
                                        <video controls="controls">
                                            <source src="<?php echo $vidUploads . $slider['Slider']; ?>" type="video/<?php echo $sliderType; ?>" />
                                        </video>
                            <?php   } ?>
                            </div>
                    <?php } ?>
                <?php } ?>
            <?php } ?>
              </div>
              <a class="left carousel-control" href="#myCarousel" data-slide="prev">
                <span class="glyphicon glyphicon-chevron-left"></span>
                <span class="sr-only">Previous</span>
              </a>
              <a class="right carousel-control" href="#myCarousel" data-slide="next">
                <span class="glyphicon glyphicon-chevron-right"></span>
                <span class="sr-only">Next</span>
              </a>
            </div>
        </div>
    </section>


然而, 这出来了9图,
虽然我在数据库上只有3个图。
请帮忙!
在此先感谢!

1 个答案:

答案 0 :(得分:1)

您正在for内使用foreach循环,该循环将执行3x3,因此 9

foreach ($sliders as $slider) {
    for ($i = 0; $i < count($sliders); $i++) {
        if ($i == 0) {
            // Your code

只需删除for循环。

foreach ($sliders as $i => $slider) {
    if ($i == 0) {
        // Your code