Как загрузить следующий YouTube в массиве PHP?
У меня есть этот PHP / HTML-код, который загружает случайное видео YouTube из массива PHP каждый раз, когда страница загружается. Но я хочу, чтобы кнопки "Следующая" и "Предыдущая" загружали следующее и предыдущее видео в массиве. Только одно видео должно быть загружено в любое время. У меня есть это:
<?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?
1 ответ
Решение
Нет! Вы не можете смешивать PHP
с Javascript
как это, PHP
на стороне сервера в то время как Javascript
на стороне клиента, на основе браузера. У вас есть 2 варианта, вы можете использовать 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>