Как распечатать динамические c данные вложения в виде Bootstrap аккордеона (свернуть), используя php? - PullRequest
2 голосов
/ 28 мая 2020

В основном , Я работаю над проектом электронного обучения, таким как udemy, и хочу создать динамическое c сворачивание для видеороликов, подобных тому, которое udemy предоставляет при прокрутке содержимого курса. Я связал фотографии ниже : Итак, все, что мне нужно сделать, это сначала создать раздел, затем прочитать лекцию и добавить видео в эту лекцию. Я хочу использовать оба oop одновременно, поэтому я могу получить все лекции из таблицы лекций и разделов таблицы разделов и распечатать их соответственно, что говорит нам, какая лекция связана с каким разделом .

Что я ожидал :

На этом изображении есть раздел «Введение», а внутри него - «Добро пожаловать на лекцию курса и видео в этой лекции».

https://www.picturepaste.ca/image/Hkc16

Что получил :

https://www.picturepaste.ca/image/HkDmY

SO не позволяет мне загружать картинки, поэтому я все равно связал его ..

У меня в базе четыре таблицы:

1. Курсы - Для курсов

2. Раздел - Для добавления раздела в Курсы

3. Лекция - Для добавления лекции в Раздел

4. Видео - Для добавления видео к лекции

Структура таблицы

Таблица разделов

id    name              course_id
9    Getting Started     6
11   HTML                6  
12   CSS                 6 

Таблица лекций

id  lecture_name            course_id  section_id
1   How to Learn               7           2
3   HTML TABLE                 6           11
4   Getting Started to CSS     6           12

Вот что я пробовал до сих пор:

 <?php $id = trim($_POST['id']);  ?>

 <div class="tab-pane fade" id="tabCurriculum" role="tabpanel">
    <div id="accordionCurriculum">
       <?php
        $sctmt = $conn->prepare("SELECT id, name FROM section WHERE course_id = ? ");
        $sctmt->bind_param('s', $id);
        $sctmt->execute();
        $sctmt->store_result();
        $sctmt->bind_result( $section_id, $section);
        while ($sctmt->fetch()) {
           $section_ids[] = $section_id;
           $sections[] = $section;
       }
        $sctmt->close();

        for($i = 0; $i < count($sections); $i++) {
          ?>
           <div class="accordion-item list-group mb-3">
             <div class="list-group-item bg-light">

               <a class="row"  href="#accordionCurriculum_<?php echo $section_ids[$i] >"

                  data-toggle="collapse"
                   aria-expanded="true">
                     <span class="col-9 col-md-8">
                      <span class="accordion__icon text-primary mr-2">
                       <i class="ti-plus"></i>
                       <i class="ti-minus"></i>
                    </span>

                     <span class="h6 d-inline"><?php echo $sections[$i] ?></span>

                   </span>
                  <span class="col-2 d-none d-md-block text-right">
                                6 Lectures </span>
                 <span class="col-3 col-md-2 text-right"> 20:20</span>
              </a>
         </div>

       <div id="accordionCurriculum_<?php echo $section_ids[$i]; ?>"

           class="collapse show"
           data-parent="#accordionCurriculum">
             <div class="list-group-item">
              <span class="row">
              <a class="col-9 col-md-8" href="#">
              <i class="ti-control-play small mr-1 text-primary"></i>

           <?php
              foreach($section_ids as $section_id) {
                  $lecmt = $conn->prepare("SELECT section_id, lecture_name FROM lecture 
                      WHERE course_id = ? && section_id = ?");
                  $lecmt->bind_param('ii', $id, $section_id);
                  $lecmt->execute();
                  $lecmt->bind_result($lecture_section_id, $lecture_name);
                  while ($lecmt->fetch()) {
                      echo $lecture_name;
                  }
              }
              $lecmt->close();
              ?>

           </a>
           <span class="col-2 d-none d-md-block text-right">
           <a href=""
              data-fancybox class="text-success">Preview</a>
           </span>
           <span class="col-3 col-md-2 ml-auto text-right">00:36</span>
           </span>
        </div>
     </div>
  </div>
  <!-- END accordion-item -->
  <?php
  }  
?>

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