@lemonlimelike

Как передать id видео через get?

Привет всем. Есть цикл foreach. который выводит данные. Но если прописать print_r($art['place_of_location']); выводит почему то id последнего видео, почему?

И второй вопрос: Вот иконка
<div id="ajax-book" uk-toggle="target: #ajax" class="uk-position-top-right">
                                                     <span uk-icon='icon: bookmark; ratio: 2' title='Добавить в залкадки'></span>


Когда кликаю на нее, происходит ajax-запрос, там есть обработчик, который выполняет запрос на добавление полей user_id и video_id, мне нужно как то отслеживать на какое видео нажал пользователь, чтоб добавить его в закладки, как это можно сделать? Подскажите пожалуйста.

Вот код ajax:
<script>
$(document).on('click', '#ajax-book', function(){
            $.ajax({
        url: 'inc/ajax-book.php',
        method: 'GET',
        dataType : "json",
        success: function(data) {
            console.log(data);
        }
        });
    });
</script>


А вот обработчик:
<?php 
    require_once "../db/config.php";

    $user_id = $_SESSION['user_id'];
    $video_id = "";
    
    $sql_1 = "INSERT INTO book (user_id, video_id) VALUES (:user_id, :video_id)";
    $stc = $pdo->prepare($sql_1);
    $stc->bindParam(':user_id', $user_id);
    $stc->bindParam(':video_id', $video_id);
    $stc->execute();
    echo json_encode($stc);
 ?>

Как видите, переменную video_id нужно как то достать из видео.

Это код цикла:
<?php foreach ($mov as $art): ?>
                            <?php $vi = $art['place_of_location']; ?>
                                <div class="uk-card">
                                    <div class="uk-card-default" uk-lightbox>
                                        <a href="media/<?php echo $art['place_of_location'].'.mp4' ?>">
                                            <div class="uk-card-media-top uk-inline uk-inline-clip uk-transition-toggle">
                                                <img class="uk-transition-scale-up uk-transition-opaque" src="media/images/<?php echo $art['img'].'.jpg' ?>" alt="<?php echo $art['title']; ?>">
                                                <div class="uk-position-medium uk-position-cover uk-overlay uk-flex uk-flex-center uk-flex-middle uk-light">
                                                    <span uk-icon="icon: play-circle; ratio: 3.5"></span>
                                                </div>
                                               <div class="uk-light uk-position-bottom-left">
                                                    <span class="uk-icon uk-icon-image uk-light" style="background-image: url(media/views.png)"></span>
                                                    <span class="uk-text-large"><?php echo $art['views']; ?></span>
                                                </div>
                                            </div>
                                        </a>
                                    </div>
                                        <div class="uk-card-body">
                                            <p><?php echo $art['title']; ?></p>
                                        </div>
                                                <div id="ajax-book" uk-toggle="target: #ajax" class="uk-position-top-right">
                                                     <span uk-icon='icon: bookmark; ratio: 2' title='Добавить в залкадки'></span>
                                                </div>
                                                <div id="ajax" uk-modal>
                                                    <div class="uk-modal-dialog uk-modal-body">
                                                        <h2 class="uk-modal-title"></h2>
                                                        <button class="uk-modal-close" type="button"></button>
                                                    </div>
                                                </div>
                                </div>

                        <?php endforeach; ?>
  • Вопрос задан
  • 385 просмотров
Решения вопроса 1
ThunderCat
@ThunderCat Куратор тега PHP
{PHP, MySql, HTML, JS, CSS} developer
1) кто такой этот $mov и откуда он взялся?
2)
$video_id = ""; ... $stc->bindParam(':video_id', $video_id);
это номально?
3) $stc->execute(); echo json_encode($stc); а здесь что вы начитали??? это же ресурс вроде.
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
Eridani
@Eridani
Мимо проходил
Есть цикл foreach. который выводит данные. Но если прописать print_r($art['place_of_location']); выводит почему то id последнего видео, почему?

Прописать принт_р внутри цикла? Ну естественно, что он покажет последний, нужно объяснять почему именно?. За пределами цикла распечатывайте сам массив $mov
Ответ написан
Комментировать
Ну, что бы получить все видосы, вы должны в print_r подставить $mov а не $art, ведь $art -это элемент массива, или ставить print_r($art['place_of_location']) внутри foreach.

Чтобы передать id через js, нужно его вывести на странице с видео (или я чего то не понял), внутри атрибута, к примеру
id_video
. Затем логика в js такая:
$('#ajax-book').click(function(){
    var $card=$(this).parents('.uk-card');
    var id_video = $card.find("<<< Тут класификатор блока, в которм появится id>>>"). attr('id_video');
    $.ajax({
        url: 'inc/ajax-book.php',
        method: 'GET',
        data: {
            'video_id': id_video
        },
        dataType : "json",
        success: function(data) {
            console.log(data);
        }
    });
});


Ну, и соответственно в php принимаешь как;
$video_id = $_GET['video_id'];
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы