Слайдер Codeigniter и Bootstrap, как я могу зациклить и загрузить слайды - PullRequest
0 голосов
/ 31 мая 2018

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

каждый пост имеет уникальный слайдер, поэтому у меня есть 2 таблицы базы данных, одна для постов идругие для слайдов.

проблема в том, что я не могу пройтись по таблице слайдов, чтобы вытащить слайды, назначенные для сообщения.

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

Модель:

public function get_yachts($slug = FALSE){
      if ($slug === FALSE) {
        $query = $this->db->get('yachts');
        return $query->result_array();
      }
      $this->db->join('yacht_slider', 'yacht_slider.yacht_slide_id = yachts.id');
      $query = $this->db->get_where('yachts', array('slug' => $slug));
      return $query->row_array();
    }

Контроллер:

public function view($slug = NULL){
      $data['yacht'] = $this->yacht_model->get_yachts($slug);
      $data['title'] = 'Yachts';
      $this->load->view('templates/header', $data);
      $this->load->view('yachts/view', $data);
      $this->load->view('templates/footer');
    }
  }

В моем HTMLкод, когда я пытаюсь загрузить слайды, как это <?php echo $yacht['slide'];?>, я получаю только одну строку из таблицы слайдов, так как я могу сделать цикл, чтобы получить остальные слайды.Я пробовал цикл foreach и другие методы, но ни один из них не работал.

1 Ответ

0 голосов
/ 31 мая 2018

Надеюсь, это поможет вам:

Ваша модель get_yachts должна выглядеть следующим образом:

public function get_yachts($slug = FALSE)
{
  if ($slug === FALSE) 
  {
    $query = $this->db->get('yachts');
    return $query->result_array();
  }
  else
  {
    /*$this->db->select('yachts.title as ytitle');*/

    $this->db->join('yacht_slider', 'yacht_slider.yacht_slide_id = yachts.id');
    $query = $this->db->get_where('yachts', array('slug' => $slug));
    return $query->result_array();
  }    
}

Контроллер останетсяТо же самое.

Доступ к представлению $yacht, например:

, это будет работать, когда слаг будет пустым или не пустым

<?php
if (! empty($yacht))
{
    foreach ($yacht as $key => $item) {
        echo $item['slide'];
    }
}
?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...