Требуется ли подобный / не нравящийся YouTube код системы рейтинга? - PullRequest
0 голосов
/ 20 декабря 2011

Я пытаюсь сделать систему рейтинга, очень похожую на пальцы вверх / вниз на Youtube.На самом деле, я надеялся добиться того же.Но из того, что я собираю отсюда: http://code.google.com/apis/youtube/2.0/developers_guide_protocol.html#Ratings

Youtube использует API, чтобы заботиться обо всех рейтингах.Поэтому я ищу информацию и помощь о том, как мне установить ту же систему, что и у YT.Я в основном хочу иметь функцию «Мне нравится / не нравится» для каждой страницы, которая нравится конкретному объекту на этой странице - точно так же, как «нравится / не нравится» связана с видео на каждой странице.Желательно также один для комментариев.Вся помощь очень, очень приветствуется.От исходных кодов для уже готовых систем (я немного искал в Google, но так и не нашел подобную систему оценки с открытым исходным кодом), чтобы помочь и получить информацию о том, как я могу настроить систему оценки на основе API.

Ответы [ 2 ]

1 голос
/ 20 декабря 2011

Для части базы данных, если вам нужно знать, кому какие видео понравились, а затем использовать две таблицы, одну для лайков и одну для антипатий:

TABLE likes {
   user_id
   video_id
}

TABLE dislikes {
  user_id
  video_id
}

Обе таблицы связывают пользователя с видео.

0 голосов
/ 20 декабря 2011

Я бы предложил иметь базу данных со всеми видео и комментариями, в которой есть поле для лайков и дислайков.Затем вы можете обновить базу данных событиями щелчка JavaScript, чтобы выполнить вызовы AJAX для увеличения количества.Вы можете использовать JQuery и код будет так просто:

$('#up_button').click(function(){
    var id = $(this).attr('thisid');
    $.ajax({ type: 'POST',
        url: 'AJAX/Handler/Upvote',
        data: { video_id: id },
        dataType: 'html',
        success: function (data) { alert('success'); },
        error: function (xhr, err) { alert('Error:\n\nreadyState: " + xhr.readyState + "\nstatus: " + xhr.status + "\nresponseText: " + xhr.responseText); }
    });
});
...