Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/449.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/12.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
Javascript 如何在不刷新当前页面上的Youtube视频的情况下获取数据_Javascript_Php_Jquery_Ajax - Fatal编程技术网

Javascript 如何在不刷新当前页面上的Youtube视频的情况下获取数据

Javascript 如何在不刷新当前页面上的Youtube视频的情况下获取数据,javascript,php,jquery,ajax,Javascript,Php,Jquery,Ajax,我正在开发一个PHP应用程序,其中我正在我的网站上播放YouTube视频。每个视频的URL、开始时间和结束时间存储在数据库中,每30秒后,我检查数据库中的所有值,如果当前时间在任何行的开始时间和结束时间之间,如果是,则从该行获取URL并开始视频 $retrieval = "select * from video where user_id=$id AND prog_id=$p"; $result= mysqli_query($db,$retrieval); if(mysqli_num_

我正在开发一个PHP应用程序,其中我正在我的网站上播放YouTube视频。每个视频的URL、开始时间和结束时间存储在数据库中,每30秒后,我检查数据库中的所有值,如果当前时间在任何行的开始时间和结束时间之间,如果是,则从该行获取URL并开始视频

$retrieval = "select * from video where user_id=$id AND prog_id=$p";    
$result= mysqli_query($db,$retrieval);

if(mysqli_num_rows($result)>0){
    while($row = mysqli_fetch_assoc($result)){
      $fromTime = strtotime($row['start_time']);
      $toTime = strtotime($row['end_time']);
      $inputTimeT = strtotime($currTime);
      if($inputTimeT >= $fromTime and $inputTimeT <= $toTime){
           $url = $row['video_url'];
           if(preg_match('/https:\/\/(www\.)*youtube\.com\/.*/',$url)){
                // Fetch YouTube VideoID from URL
                preg_match('%(?:youtube(?:-nocookie)?\.com/(?:[^/]+/.+/|(?:v|e(?:mbed)?)/|.*[?&]v=)|youtu\.be/)([^"&?/ ]{11})%i', $url, $match);
                $youtube_id = $match[1];
       ?>
           <iframe class="mainvideo" src="https://www.youtube.com/embed/<?php echo $youtube_id?>?autoplay=1&loop=1&playlist=<?php echo $youtube_id?>" frameborder="0" allowfullscreen></iframe>
            <?php 
            }
            else{?>
                <video width="100%" src="<?php echo $row['video_url']?>" controls loop autoplay>
          <!--ALTERNATE VIDEOS   -->
               </video>
          <?php  }
           } 
        }
  }
$retrieval=“从视频中选择*,其中用户id=$id和程序id=$p”;
$result=mysqli_查询($db,$retrieval);
如果(mysqli_num_行($result)>0){
while($row=mysqli\u fetch\u assoc($result)){
$fromTime=STROTIME($row['start_time']);
$toTime=STROTIME($row['end_time']);
$inputTimeT=STROTIME($currTime);
如果($inputTimeT>=$fromTime和$inputTimeT

无论何时,只要您想在不重新加载负载的情况下获取数据,AJAX都会提供帮助

我会做的(不知道是最佳做法还是糟糕做法)是:

  • 在其他php文件中生成我的服务器代码
  • 将数据发送到该文件(如果需要)并使用ajax检索数据
  • 在javaScript中更改HTML页面

  • 您使用了正确的标记;您尝试的代码在哪里?通常您会做的是,将通过PHP从数据库中获取视频的逻辑放在一个单独的文件中,然后使用AJAX在原始文件和处理PHP的文件之间解析和检索数据。然后,您可以随时加载视频。Alte实际上,你可以用AJAX构建视频的所有内容。这样你就可以100%控制刷新什么和不刷新什么。我尝试在视频标签上加载jQuery AJAX,还复制了不同文件上的服务器代码,但每5秒钟刷新一次视频,而不是刷新页面。如果视频是相同的,我不希望刷新视频就像现在正在玩的一样。