Итак, попытаюсь объяснить суть проблемы :)
Вот сайт https://filmoteka.com.ua/index
На главной странице выводятся данные о фильме, получение информации происходит через Ajax-запрос к файлу randfilm.php
, откуда информация выводится через echo()
.
Под списком актёров должен выводиться рейтинг в виде звёздочек, но он не подгружается (в этом суть проблемы). Я никак не могу разобраться, в чём проблема, ведь если выводить данные не через Ajax, а прямо через файл главной страницы, то звездочки работают. Прилагаю часть кода: Файл главной страницы, здесь важен только последний div, в него выводится Ajax запрос:
<php
echo '
<div class="catMenuRand">
<form method="POST" id="find-rand" onsubmit="changeRand()" action="javascript:void(null);">
<select size="1" name="randcat">
...здесь перечень категорий...
</select>
<div class="catYear">
...здесь инпуты для диапазона годов...
</div>
<input type="submit" name="search" value="Знайти фільм">
</form>
</div><br>
';
echo '<div id="rand-film" class="rand-film"></div>';
?>
Файл randfilm.php
это файл-обработчик запроса:
$Row = mysqli_fetch_assoc(mysqli_query($CONNECT, "SELECT * FROM `films` WHERE `active` = 1 AND (`date` >= $_POST[rangeFor] AND `date` <= $_POST[rangeTo]) ORDER BY RAND() LIMIT 1"));
echo '
<span class="rand-film-title"><a href="/material/film/id/'.$Row['id'].'">'.$Row['name'].'</a></span>
<div class="rand-film-poster">
<img src="/resource/poster/'.$Row['dir'].'/'.$Row['id'].'.jpeg">';
if ($Row['original_name']) echo '<span style="color: #d8d8d8">Авторська назва: </span>'.$Row['original_name'].'<br>';
echo '
<span style="color: #d8d8d8">Жанр: </span>'.$category.'<br>
<span style="color: #d8d8d8">Рік: </span>'.$Row['date'].'<br>
<span style="color: #d8d8d8">Країна: </span>'.$Row['country'].'<br>
<span style="color: #d8d8d8">Тривалість: </span>'.$Row['lenght'].' хв.<br>
<span style="color: #d8d8d8">Режисер: </span>'.$Row['director'].'<br>
<span style="color: #d8d8d8">В ролях: </span>'.$role.'<br>
<div id="rating">
<input type="hidden" name="val" value="'.$Row['total_value'].'">
<input type="hidden" name="votes" value="'.$Row['total_votes'].'">
<input type="hidden" name="id" value="'.$Row['vote_id'].'">
</div>
</div>
<span class="rand-film-description">'.$Row['description'].'</span>
';
И файл footer.php где я подключаю скрипты:
<script type="text/javascript" src="/resource/js/jquery.rating-2.0.js"></script>
<script>
function showRand() {
$.ajax({
url: "/page/randfilm.php",
cache: false,
success: function(html){
$("#rand-film").html(html);
}
});
}
function changeRand() {
var msg = $('#find-rand').serialize();
$.ajax({
type: 'POST',
url: "/page/randfilm.php",
data: msg,
success: function(html) {
$('#rand-film').html(html);
}
});
}
$(document).ready(function(){
showRand();
$('#rating').rating({
fx: 'half',
image: '/resource/img/stars.png',
loader: '/resource/img/ajax-loader.gif',
minimal: 1,
url: '/rating.php'
});
});
</script>
Итак, объясняю, почему вызов Ajax делаю дважды: первый раз выводим данные о случайном фильме при загрузке страницы, а второй вызов делаем уже с данными из формы, если пользователь ищет по определённой категории или году.
Также хочу добавить: если вывод делать из главной страницы (содержимое echo из файла randfilm.php
перенести в блок rend-film
), то звёздный рейтинг работает (он выводится в блоке #raiting). Если объяснил не внятно то прошу уточнить.
Сам плагин рейтинга взят из сайта https://biznesguide.ru/coding/156.html
На моём сайте он ещё подключён на полной странице фильма, и там прекрасно работает, а почему вот почему не работает на главной - не понятно :(((
Оборудование для ресторана: новинки профессиональной кухонной техники
Частный дом престарелых в Киеве: комфорт, забота и профессиональный уход
Как я понял, встроенная функция в С++ это аналог макроса СиНо в книге прочел, что встраиванием кода встроенной функции занимается компилятор,...
Когда делаю отладку консоль включается, но в нее ничего не записываетсяЯ перекачивал Visual Studio 4 раза и все равно не работает
Как сделать так чтобы программа работала, скажем циклом, но ждала ввода информации? Допустим у нас есть бесконечный цикл, который перечисляет...