изменить класс для первого ряда расширений из MySQL с PHP

0

У меня есть баннер, который используется из бутстрапа, и первый слайдер на этом баннере должен иметь class='item active' остальные ползунки должны иметь class='item' Я получаю свои слайдеры из своей базы данных

до сих пор, что я пытаюсь сделать.

<?php
        $getBanner = $db->prepare("SELECT * FROM banner_english");
        if ($getBanner->execute()) {
            $results = $getBanner->get_result();
            while ($b = $results->fetch_array()) {
                $bannerImages = array($b['image']);
                foreach ($bannerImages as $image) {
                    if ($image[0]) {
                        echo '<div class="item active">
                    <img src="../images/en_banner/' . $image . '" alt="Koueider">
                </div>';
                    } else {
                        echo '<div class="item">
                    <img src="../images/en_banner/' . $image . '" alt="Koueider">
                </div>';
                        var_dump($bannerImages);
                    }
                }
            }
        }
        ?> 

все еще не работает должным образом

var_dump
array (size=1)
  0 => string '06.jpg' (length=6)
array (size=1)
  0 => string '03.jpg' (length=6)

Я вижу, что var_dump равен 0 для всех элементов, что я сделал неправильно здесь?

  • 0
    Как выглядит ваша таблица banner_english?
Теги:
arrays

2 ответа

1
Лучший ответ

Это исправление для старого кода:

<?php
        $getBanner = $db->prepare("SELECT image FROM banner_english");
        if ($getBanner->execute()) {
            $results = $getBanner->get_result();
            $is_first = true;
            while ($b = $results->fetch_array()) {               
                    if ($is_first) {
                        echo '<div class="item active">
                    <img src="../images/en_banner/' . $b[0] . '" alt="Koueider">
                </div>';
                    $is_first = false;
                    } else {
                        echo '<div class="item">
                    <img src="../images/en_banner/' . $b[0] . '" alt="Koueider">
                </div>';
                        var_dump($bannerImages);
                    }
               }
          }
        ?> 
0

Измените код следующим образом:

<?php
        $getBanner = $db->prepare("SELECT * FROM banner_english");
        if ($getBanner->execute()) {
            $results = $getBanner->get_result();
            $rows = $results->fetch_all(MYSQLI_ASSOC);
                $ind = 0;
                foreach ($rows as $image) {
                    if ($ind == 0) {
                        echo '<div class="item active">
                    <img src="../images/en_banner/' . $image . '" alt="Koueider">
                </div>';
                    $ind++;
                    } else {
                        echo '<div class="item">
                    <img src="../images/en_banner/' . $image . '" alt="Koueider">
                </div>';
                        var_dump($bannerImages);
                    }
            }
        }
        ?> 
  • 0
    Я получаю Notice: Array to string conversion для var $image
  • 0
    О да, измените на: foreach ($ row ['image'] как $ image) {
Показать ещё 5 комментариев

Ещё вопросы

Сообщество Overcoder
Наверх
Меню