В настоящее время у меня есть простое приложение для Facebook, которое вытащило видео информацию с канала YouTube.Как использовать переменную javaScript в PHP?
Как раз сейчас, я вставляю первое видео ответа от YouTube в местозаполнитель вместе с заголовком, представлениями и описанием, и все видеоролики (включая первый) отображаются под разделом, содержащим встроенное видео.
Затем, когда пользователь нажимает на любое из видео эскизов, это видео затем встроено в разделитель div.
Я могу заставить это работать с жестким кодированием идентификатора видео в ассоциативном массиве YouTube, но я не могу понять, как использовать переменную id
с PHP в последней строке моего кода jQuery.
Вот мой текущий код:
$url = 'http://gdata.youtube.com/feeds/api/videos?max-results=20&alt=jsonc&orderby=published&format=5&safeSearch=none&author=CHANNELID&v=2';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_REFERER, $url);
$body = curl_exec($ch);
curl_close($ch);
$data = json_decode($body, true);
?>
<div id="placeholder" style="font-family:Helvetica; max-width:500px; margin:0 0 20px 0;">
<div id="player"><iframe width="480" height="274" src="https://www.youtube.com/embed/<?php echo $data['data']['items'][0]['id']; ?>" frameborder="0" allowfullscreen></iframe></div>
<div class="title" style=" font-size:14px; font-weight:bold; color:#3B5998; margin:2px 0 3px 0;"><?php echo $data['data']['items'][0]['title']; ?> </div>
<div class="views" style="color:#BBB; font-size:12px;"><?php echo $data['data']['items'][0]['viewCount'];?> views</div>
<div class="description" style="font-size:14px;"><?php echo $data['data']['items'][0]['description'];?></div>
<div class="hr" style="padding:5px 0 0 0; float:left; border-bottom: 1px solid #96CC90; width:480px;"></div>
</div>
<?php
foreach($data['data']['items'] as $item) {
$id = $item['id'];
$description = $item['description'];
$description = str_replace('uk.opticalexpress.com', '', $description);
$description = str_replace('-', '', $description);
$description = trim($description);
$thumb = $item['thumbnail']['sqDefault'];
$i = 0;
?>
<div class="video" id="<?php echo $i; ?>" style="font-family:Helvetica; float:left; max-width:150px; min-height:130px; margin:0 0px 20px 10px;">
<div class="thumb" style="position:relative; left:0; top:0;">
<img src="<?php echo $item['thumbnail']['sqDefault'];?>" title="<?php echo $description;?>" style="position:relative; top:0; left:0px;"/>
<img src="../images/play-thumb.png" style="position:absolute; top:30px; left:45px;"/>
</div>
<div class="title" style="font-size:14px; font-weight:bold; color:#3B5998; margin:2px 0 3px 0;"><?php echo $item['title']; ?> </div>
<div class="views" style="font-size:12px;"><?php echo $item['viewCount'];?> views</div>
</div>
<?php
$i++;
}
?>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$('.video').click(function() {
var id = $(this).attr('id');
$('#placeholder').fadeOut('slow');
$('#placeholder').html('<div id="player"><iframe width="480" height="274" src="https://www.youtube.com/embed/<?php echo $data['data']['items'][1]['id']; ?>" frameborder="0" allowfullscreen></iframe></div>');
$('#placeholder').fadeIn('slow');
});
});
</script>
Извините за стену текста (и инлайн CSS)!
thanks @MrCarl. Я только что обновил свой вопрос. Я получил почти все, мне нужно выяснить, как получить переменную 'id' jquery в массиве вместо' [1] ', которая есть сейчас – martincarlin87
Это будет называться ассоциативным массивом, если я ' Правильное понимание. Должно быть простым вопросом 'someArray ['thisID'] ['value']' –
да, я могу сделать это с помощью PHP, но если я получу идентификатор кликаемого видео с помощью jQuery, я не могу понять, как использовать этот id при извлечении данных из массива, то есть '['?> + id + php] [' value ']' Получает беспорядочный и не может понять, есть ли способ заставить это работать. – martincarlin87