Я около недели изучаю PHP, jQuery и AJAX и быстро набираю. Я создаю новый видео-сайт с системой комментариев, по которой мне нужно немного помочь. На сайте отображается список миниатюр видео, и когда пользователь нажимает на миниатюру, jquery автоматически меняет HTML-код на этой странице, чтобы показать правильное видео:
$(".thumbnailcontainer img").click(function() {
var yt_vid = $(this).attr("id");
$("#youtube").fadeOut(300, function() {
//$("#content").append('<img src="img/design/icons/loading.gif" alt="Currently Loading" id="loading" class="loading" />');
$("#youtube").replaceWith('<object id="youtube" type="application/x-shockwave-flash" style="width:640px; height:385px; display:none;" data="http://www.youtube.com/v/' + yt_vid + '&hl=en_US&fs=1&hd=1"><param name="movie" value="http://www.youtube.com/v/' + yt_vid + '&hl=en_US&fs=1&hd=1" /><param wmode="transparent"><\/param><\/object>');
/*$("#loading").fadeOut(500, function() {
$(this).remove();
});*/
$('#youtube').fadeIn(1000);
});
(Я временно прокомментировал значок загрузки, потому что я пытаюсь выяснить, как отобразить его поверх видео на YouTube, а не толкать внизу под ним ... если вы можете ответить на этот вопрос, бонусные баллы для вас. )
В любом случае, в зависимости от того, какое видео показывается, мне нужно, чтобы комментарии, связанные с этим видео, отображались внизу. Я хотел, чтобы комментарии также динамически изменялись при нажатии, поэтому я создал этот код:
//Send POST data to PHP script to switch to correct comments
//Select Thumbnail's second parent's ID attr on click
var commentsID = $(this).parents("div:eq(1)").attr("id");
$.ajax({
url: 'php/comments.inc.php',
type: 'POST',
data: 'commentsID=' + commentsID,
success: function(html) {
$('#comments').html(html);
$("#db").attr("value", '' + commentsID + '');
}
});
});
Это, по сути, захватывает имя таблицы MySQL из атрибута id миниатюры, отправляет его в скрипт, который возвращает правильные комментарии, и устанавливает скрытое значение формы, которое сообщит форме, в какую таблицу отправлять комментарии.
Чтобы определить последнее добавленное видео и вернуть правильные комментарии, я подумал о том, чтобы отправить ajax-сообщение с идентификатором таблицы первого эскиза о загрузке документа в скрипт, добавить возвращаемые комментарии и задать скрытое значение. через ajax.
Мой вопрос: является ли вышеуказанная практика плохой идеей? То есть мне кажется неэффективным делать так много почтовых запросов, чтобы переключиться на правильные комментарии - разве это не ресурсоемкий процесс? Кроме того, безопасно ли иметь имена таблиц моей базы данных легко видимыми в атрибуте id моих миниатюр, чтобы мой сценарий мог указать, к какой базе данных подключаться?
Спасибо за вашу помощь и любые предложения по пути. Это мой первый пост здесь, и он мне кажется очень полезным сайтом.