Как реализовать карусель для изображений из базы данных Mysql

Я пытаюсь получить данные из базы данных Mysql (в частности, изображения), а затем отобразить их в карусели, например, на домашней странице amazon.com.

Я новичок в CSS. Я не использовал его много.

Я просмотрел предыдущий вопрос, но у меня нет списка изображений вместе. Я просто через данные из базы данных.

Любая помощь будет оценена.


person chepkeitany    schedule 27.01.2015    source источник
comment
вы хотите прокручивать только текст или изображения. Если вы хотите только текст, то в каком направлении по горизонтали или по вертикали   -  person Dalvik    schedule 27.01.2015
comment
Что вы храните изображения, как в MySQL?   -  person Master Yoda    schedule 27.01.2015
comment
Я хочу прокручивать изображения только по горизонтали.   -  person chepkeitany    schedule 27.01.2015
comment
Я сохраняю только путь к своим изображениям в MySQL, фактическое изображение находится в папке в папке моего проекта, называемой изображениями.   -  person chepkeitany    schedule 27.01.2015


Ответы (2)


Из того, что я понял из вашего комментария ниже, ваша проблема строго связана с CSS. Изображения отображаются вертикально, потому что <li> не плавают рядом друг с другом.

Вот код:

<html>
    <head>
        <title>Title</title>
        <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
        <script type="text/javascript" src="/path/to/jquery.jcarousel.js"></script>
        <style type="text/css">
        .jcarousel {position:relative; overflow:hidden;}
        .jcarousel ul {width: 20000em; position:relative; list-style:none; margin:0; padding:0;}
        .jcarousel li {float:left;}
        </style>
    </head>
    <body>
        <div class="jcarousel">
            <ul>
                <li><img src="image1.jpg" alt="" /></li>
                <li><img src="image2.jpg" alt="" /></li>
            </ul>
        </div>
        <script type="text/javascript">
            $(function(){
                $('.jcarousel').jcarousel();
            });
        </script>
    </body>
</html>
person Wissam El-Kik    schedule 27.01.2015
comment
У меня нет проблем с php... моя проблема заключается в том, что изображения отображаются на моей веб-странице вертикально, а не горизонтально, с элементами управления каруселью: предыдущий, левый, слайд и т. д. - person chepkeitany; 27.01.2015
comment
Если у вас нет проблем с PHP, вам не следует помечать вопрос как php. Если карусель отображается вертикально, а не вертикально, проблема связана с CSS, HTML или JS. Создайте JSFiddle, чтобы показать нам текущий код: jsfiddle.net - person Wissam El-Kik; 27.01.2015
comment
@user3231736 user3231736 Вам не следует писать PHP-код в JSFiddle. JSFiddle используется только для HTML, CSS и Javascript. В вашем случае вы можете открыть веб-страницу, о которой вы говорите, щелкнуть правой кнопкой мыши и выбрать «Просмотреть исходный код страницы», затем скопировать весь HTML-код и вставить его в JSFiddle. Хорошо, что я проверил ваш код и кажется, что вы забыли включить CSS-файл jCarousel :) Там вообще нет CSS. Я собираюсь отредактировать ответ выше. - person Wissam El-Kik; 28.01.2015
comment
Есть ли в карусели файл css по умолчанию? - person chepkeitany; 28.01.2015
comment
Нет, файла CSS по умолчанию нет, но есть минимум стилей CSS, которые необходимо включить: sorgalla.com/jcarousel/docs/reference/ Я поделился ими в ответе выше. - person Wissam El-Kik; 28.01.2015
comment
Большое спасибо... теперь это работает... мне нужно выяснить, как добавить элементы управления... - person chepkeitany; 28.01.2015
comment
Посмотрите: sorgalla.com/jcarousel/docs Конфигурация кажется очень плохой, потому что вам может понадобиться дополнительный плагин для добавления стрелок... Я бы порекомендовал bxslider и гибкий слайдер, чтобы иметь все функции, которые вы только можете себе представить... и бесплатно! - person Wissam El-Kik; 28.01.2015

Я знаю, что это старый вопрос, но он может быть полезен для будущих пользователей. Вот простое решение для реализации карусели Bootstrap для отображения изображений из базы данных:

Извлеките все изображения из базы данных и вставьте их в массив (обратите внимание, что я храню изображения как BLOB в своей базе данных:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <link rel="stylesheet" href="bootstrap/css/bootstrap.min.css">
    <script src="jquery-3.1.0.min.js"></script>
    <script src="bootstrap/js/bootstrap.js"></script>
    <style>
        .myCarousel{
            height: 100%;
            width: 700px ;
            margin-top: 5px;
        }
        .slideimage{

            width: 700px;
            height: 320px !important;
        }
    </style>
</head>
<body>


<?php

include ('DBconnection.php');

$ImageArray = array();

$queryImages = "SELECT * FROM imagetable ";

$result = mysqli_query($conn,$queryImages);

if(mysqli_num_rows($result) >0){

    while ($row = mysqli_fetch_array($result)){

        $ImageArray[] = $row;
    }
}

?>
                         <div id="myCarousel"  class="myCarousel carousel
                                    slideCarousel" data-ride="carousel" data-interval="5000" >

                                        <ol class="carousel-indicators">

                                        <?php

                                            // creating indicators - note that at least one must be set as active

                                            for($j=0;$j<count($ImageArray);$j++){

                                                    if($j==0){
                                                        echo ' <li data-target="#myCarousel" data-slide-to="'.$j.'" class="active"></li>';

                                                    }else{

                                                        echo ' <li data-target="#myCarousel" data-slide-to="'.$j.'"></li>';

                                                    }
                                            }
                                        ?>


                                        </ol>
                                        <div class="carousel-inner" role="listbox">



                                    <?php

                                          for($j=0;$j<count($ImageArray);$j++){
                                                 //If it is the first image set it as active
                                                  if($j==0){
                                                      echo '<div class="item active">

                                                            <!--Using image id and url  -->

                                                          <img class="slideimage" src="GetImageID.php?id=' .$ImageArray[$j]['ImageID'].'" /> 

                                                           <!-- or using base64_encode

                                                           <img src="data:image/jpeg;base64,'.base64_encode($ImageArray[$j]['Image']).'"/>

                                                           -->
                                                            </div>';
                                                  }

                                                  else{
                                                      echo '<div class="item">
                                                              <img class="slideimage" src="GetImageID.php?id=' .$ImageArray[$j]['ImageID'].'" /> 
                                                            </div>';
                                                  }
                                          }
                                            ?>


                                        </div>


                                        <a class="left carousel-control" href="#myCarousel" role="button" data-slide="prev">
                                            <span class="glyphicon glyphicon-chevron-left" aria-hidden="true"></span>
                                            <span class="sr-only">Previous</span>
                                        </a>
                                        <a class="right carousel-control" href="#myCarousel" role="button" data-slide="next">
                                            <span class="glyphicon glyphicon-chevron-right" aria-hidden="true"></span>
                                            <span class="sr-only">Next</span>
                                        </a>
                                    </div>
</body>
</html>

GetImageID.php:

include ('DBconnection.php');

$imageid = $_GET['id'];

$query = "Select Image from imagetable WHERE ImageID = '$imageid'";

$result = mysqli_query($conn,$query);

$row = mysqli_fetch_array($result);

header("Content-type: image/jpeg");

echo $row['Image'];
person Elliott Sadgamer    schedule 18.12.2016