Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/254.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何正确生成章节设计结构及其视频系列?_Php_Mysql_Mysqli - Fatal编程技术网

Php 如何正确生成章节设计结构及其视频系列?

Php 如何正确生成章节设计结构及其视频系列?,php,mysql,mysqli,Php,Mysql,Mysqli,以下方法非常有效,它正确地生成了以下HTML结构,您可以在以下链接中看到: 但是,这里的问题是HTML结构生成错误,结果如下: 你能解释一下如何解决这个错误吗?为了避免混淆,只需像这样创建一系列章节和视频 $chapters = array(); while ($stmt->fetch()) { $chapters[$chapter][] = array( "title" => $title_v

以下方法非常有效,它正确地生成了以下HTML结构,您可以在以下链接中看到:

但是,这里的问题是HTML结构生成错误,结果如下:


你能解释一下如何解决这个错误吗?

为了避免混淆,只需像这样创建一系列章节和视频

$chapters = array();

  while ($stmt->fetch()) {
    $chapters[$chapter][] = array(
                            "title" => $title_video,
                          "time" => $time_video
                          );

  }
您的
$chapters
数组如下所示

然后使用此函数打印html内容

printChapters($chapters);

function printChapters($chapters) {
    foreach ($chapters as $chapter => $videos) {
       echo '<div class="modules">
            <button class="accordion">'.$chapter.'</button>
            <div id="enlaces" class="section videolist" style="display: none;">';
           
            foreach ($videos as $key => $video) {
               echo '<a class="link playing" href="#">
                      <div class="chapter flex">
                        <div><span class="check-mark"></span></div>
                        <div><span class="play-title-course">'.$video["title"].'</span></div>
                        <div><span class="time-video">'.$video["time"].'</span></div>
                      </div>
                    </a>';
            }
                    
                        
         echo   '</div>                
          </div>';
    }

}
printChapters($chapters);
函数打印章节($chapters){
foreach($chapters=>$videos形式的章节){
回声'
“.$章。”
';
foreach($key=>$video形式的视频){
回声';
}
回声'
';
}
}

if($stmt->num_rows>0){if没有任何好处,因为您使用的是
while()
。您是否看到
$Nav.='';
是无条件添加的,但开头的div只是有条件地添加的?我们有重复的此类问题。@mickmackusa我添加它是为了在没有数据时显示消息,例如:我们正在添加新的更新内容,请尽快回来!您需要有条件地关闭div a循环结束后,需要无条件地关闭最后一个div。例如:@mickmackusa我知道,但我已经尝试四处移动,但它不起作用,我想我必须在循环中使用使用查询的代码:/@mickmackusa该问题由章节的标题生成,因为如果没有,结果是另一个,正如在我的第一段代码中一样,我做的每件事都没有问题,也没有错误。
if ($tempChapter != $chapter) {
    echo $chapter;
    $tempChapter = $chapter; 
}
$chapters = array();

  while ($stmt->fetch()) {
    $chapters[$chapter][] = array(
                            "title" => $title_video,
                          "time" => $time_video
                          );

  }
printChapters($chapters);

function printChapters($chapters) {
    foreach ($chapters as $chapter => $videos) {
       echo '<div class="modules">
            <button class="accordion">'.$chapter.'</button>
            <div id="enlaces" class="section videolist" style="display: none;">';
           
            foreach ($videos as $key => $video) {
               echo '<a class="link playing" href="#">
                      <div class="chapter flex">
                        <div><span class="check-mark"></span></div>
                        <div><span class="play-title-course">'.$video["title"].'</span></div>
                        <div><span class="time-video">'.$video["time"].'</span></div>
                      </div>
                    </a>';
            }
                    
                        
         echo   '</div>                
          </div>';
    }

}