В основном , Я работаю над проектом электронного обучения, таким как 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
}
?>