@lemonlimelike

Что с этим кодом не так?

Доброй ночи.
Код из обработчика ajax'a:
$view_2 = $_GET['view_2'];


    $sql_1 = "UPDATE video SET view = view + '1' WHERE id = :view_2";
    $stw = $pdo->prepare($sql_1);
    $stw->bindParam(':view_2', $view_2);
    $stw->execute();


    $sql_2 = "SELECT view FROM video WHERE id = :view_2";
    $ste = $pdo->prepare($sql_2);
    $ste->bindParam(':view_2', $view_2);
    $ste->execute();
    $res = $ste->fetch(PDO::FETCH_ASSOC);
    echo json_encode($res);


Первая часть кода: думаю там понятно, в бд делается update поля view у которого id = полученному get['id']
Вторая часть. Суть такова, должен выполняться такой код: совершается запрос который достает из бд поле view у которого id = полученному get['id'] (номер id видео) и затем выводит json.

Так... теперь вот в чем проблема. При нажатие на видео, происходит ajax запрос, который меняет значение поля view на +1(из запроса все понятно) НО при клике на одно видео значение из поля view становится такое же у всех остальных видео ( к примеру: есть видео с id=1 и поле view = 5, а также есть еще одно видео с id=2 и поле view=7. когда кликаю на видео с id=1 у id=2 поле view меняется на 5 и так у всех остальных видео. И наоборот, кликаю на видео с id=2 поле view меняется на 7 у всех видео, но только на странице, в таблице ничего не меняется ) , почему?

Этот код из обработчика ajax запроса, вот он сам
$(document).on('click', '#ajax-view', function(){
    var self = this;
    $.ajax({
        url: 'inc/ajax-view.php',
        method: 'GET',
        dataType : "json",
        data: {
            view_2:$(self).data("id")
        },
        success: function(data) {
            console.log(data);
            $(".uk-text-large").text(data.view);
        },
        error: function() {
          console.log([].slice.call(arguments));
        }
        });
return false;
});
  • Вопрос задан
  • 429 просмотров
Решения вопроса 1
DevMan
@DevMan
да, дружбан, учиться тебе еще и учиться.
https://jsfiddle.net/b9pdaqsd/
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
ernesto77
@ernesto77
php, rb, py, js, webdev
совет
$view_2 = isset($_GET['view_2']) ? @intval($_GET['view_2']) : null;

if (!$view_2)
    return false;

...
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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