我有这个php/html代码,每次加载页面时,它都会从php数组中加载一个随机的youtube视频。但我希望有下一个和上一个按钮来加载阵列中的下一个或上一个视频。任何时候都只能加载一个视频。我有这个:
<?php $videos = array("0jBRY_Aki9s","1czXvHSjDac","1kbiUiRfnh8","377kKBi6anQ");
$rand = array_rand($videos);
$rand_key = $videos[$rand];
$numOfItems = count($videos);
echo "<iframe width='375' height='310'
src='http://www.youtube.com/embed/$rand_key?&fmt=22&autoplay=1'> </iframe>";?>
<span onclick="<?php $clip = next($videos);
echo "<iframe style='float:left;' width='375' height='310'
src='http://www.youtube.com/embed/$clip?&fmt=22&autoplay=1'>
</iframe>";?> ">next</span>
有没有办法使用php"next"方法来更改iframe上的当前视频?
否!不能像那样将PHP
和Javascript
混合,PHP
是服务器端,而Javascript
是客户端,基于浏览器。您有两个选项,可以使用AJAX
加载下一个视频,或者使用anchor
链接到下一个:
<?php
$videos = array("0jBRY_Aki9s" , "1czXvHSjDac" , "1kbiUiRfnh8" , "1uTypnaP5X4" , "377kKBi6anQ");
$rand = array_rand($videos);
$rand_key = isset($_GET['id']) ? $_GET['id'] : $rand;
echo "<iframe width='375' height='310' src='http://www.youtube.com/embed/".$videos[$rand_key]."?&fmt=22&autoplay=1'> </iframe>";
$next = isset($videos[($rand_key+1)]) ? ($rand_key+1) : 0;
$prev = isset($videos[($rand_key-1)]) ? ($rand_key-1) : count($videos)-1;
?>
<a href="test.php?id=<?php echo $prev; ?>">prev</a> | <a href="test.php?id=<?php echo $next; ?>">next</a>