Генератор форм

Для веб-мастера

Реклама


Комментарии к статье:
Создаем обработчик рейтинга в виде звезд

Дата: 6 декабря 2011 Просмотры 32206 Комментарии 40

    Получать новые материалы этого сайта на свой email адрес?

    Отправлять мне комментарии по эл. почте?

mik
mik 9 декабря 2011 | 02:44
-1
Демо-Fatal error: Uncaught exception 'Exception' with message 'Ошибка базы данных.' in /var/www/nexus1985/data/www/biznesguide.ru/demo/vote/db.class.php:21 Stack trace: #0 /var/www/nexus1985/data/www/biznesguide.ru/demo/vote/db.class.php(33): DB->__construct(Array) #1 /var/www/nexus1985/data/www/biznesguide.ru/demo/vote/articles.php(26): DB::init(Array) #2 {main} thrown in /var/www/nexus1985/data/www/biznesguide.ru/demo/vote/db.class.php on line 21
Максим
Максим 9 декабря 2011 | 05:46
+4
Почините демо.
Шамшур Иван
Шамшур Иван 9 декабря 2011 | 10:35
+8
Большое спасибо, что написали. Я когда создавал исходники очистил все параметры подключения к базе данных, а вернуть на место забыл. Спешил очень. Еще раз спасибо!
Роман
Роман 21 декабря 2014 | 20:54
-1
Друзья. Не шарю в создании БД.. не могли бы Вы уже готовую БД выложить, чтобы её было можно просто на сервер поставить и уже к ней прикручивать данный обработчик?
Слава
Слава 30 декабря 2011 | 05:43
+4
Вот здесь после того как проголосовал, даже после перезагрузки страницы скрипт не дает проголосовать снова, звездочки не выбираются. В скрипте на этой странице, после перезагрузки страницы, можно снова выбирать сколько звезд дать, это немного вводит в заблуждение, думаешь, что еще не голосовал. Имело бы смысл, так же не давать проголосовавшим выбирать количество звезд снова и получать неожиданный ответ, что уже голосовали.
Александр
Александр 14 февраля 2012 | 16:36
+3
у меня почему-то из баз данных не читается сколько людей до этого момента голосовали и какой рейтинг поставили. Должен ставить эти все цифры сам. например:
<input type="hidden" class="val" value="4.7"/>
<input type="hidden" class="votes" value="17"/>
<input type="hidden" class="vote-id" value="12"/>
Шамшур Иван
Шамшур Иван 14 февраля 2012 | 17:09
-3
Все верно. При формировании страницы Вы должны сами подставлять туда значения из базы!
Павел
Павел 3 мая 2012 | 07:04
+1
Спасибо большое за урок. Есть несколько вопросов: Почему не работает данный рейтинг на локальном сервере? нажимаешь проголосовать и грузиться бесконечно значек загрузки рядом со звездами. При чем тоже самое происходит и в ваших исходниках. В чем может быть дело? И можно как-нибудь размер звезд уменьшить?
Шамшур Иван
Шамшур Иван 3 мая 2012 | 10:35
+2
А параметры подключения к базе данных Вы правильные указали? Размер звезд конечно можно уменьшить. Замените исходный файл с звездами на тот, который Вам нужен.
Павел
Павел 5 мая 2012 | 06:37
+1
параметры подключения точно правильные. имя пользователя, пароль, название базы и таблицы всё ввел. пробывал даже без класссов подключаться, всё равно бесконечная загрузка и всё... Проверяю через denwer. Пробывал в исходниках просто поменять параметры подключения к новой базе имя и т.д.-результат один и тот же...
Шамшур Иван
Шамшур Иван 5 мая 2012 | 22:23
-1
Ну тогда не знаю. Попробуйте установить плагин Firebug для Firefox и посмотрите, какая происходит ошибка при отправке запроса на сервер.
Павел
Павел 6 мая 2012 | 10:37
+1
Всё разобрался-оценка ставиться, но база не обновляется. Почему? имя таблицы правильное id заметки передается в скрытом виде как положено...
Павел
Павел 8 мая 2012 | 20:07
+1
Иван, помогите пожалуйста. У меня всё получилось с рейтингом-всё работает и сохраняется-одно НО-проблема с кодировкой-у меня сайт на 1251 написан, поменять уже не смогу. Как исправить кодировку именно в рейтинге?
Шамшур Иван
Шамшур Иван 9 мая 2012 | 16:03
-1
Павел
Павел 21 мая 2012 | 11:36
0
Ребят, прикрутил я значит рейтинг. но после голосования данные не обновляются т.е. оранжевые звезды остаются с оценкой пользователя, а не со средним значением рейтинга. я пробовал в обработчик писать

header('Location: index.php');

и пробовал в яваскрипт тыцать где-попало

window.location.reload();
и в функцию

callback: function(responce){this.vote_success.fadeOut(2000); }

тоже пробовал. но у меня есть подозрения что эта функция как раз не отрабатывает вообще скорее всего потому что json у меня не формируется. но я решил на него забить. подскажите как обновить страничку после отправки пост параметров пожалуйста
Павел
Павел 21 мая 2012 | 11:41
-1
сори загнался забейте.
Юрий
Юрий 27 мая 2012 | 23:33
-1
Иван, спасибо за скрипт!
Подскажите, а можно ли сделать, чтобы новые id (через переменную или url) попадали в базу автоматически при голосовании? А то, если на сайте очень много статей, вручную добавлять - это целая история.
Шамшур Иван
Шамшур Иван 29 мая 2012 | 09:45
-1
Не совсем понял, что Вы имеете в виду. В какую базу? За основу нужно брать таблицу в базе данных, которая содержит все Ваши статьи. Просту туда нужно добавить дополнительные колонки, для хранения результатов голосования.
Юрий
Юрий 30 мая 2012 | 14:09
0
Хорошо бы, если б была такая таблица) сайт на чистом php без mysql...
Вот здесь и здесь есть такая функция, но в первом у меня js с чем-то конфликтует, а второй немного кривоват))
Ваш скрипт был бы самое-то, если б к нему такую штуку прикрутить.

P.S. Письмо об ответе на комментарий почему-то не пришло.
Павел
Павел 3 июня 2012 | 09:05
-1
Иван, помогите с последним вопросом. Поставил этот скрипт-всё работает и голосуется на ура. Вот только одно НО-когда открываешь статью-звезды пустые, т.е не видно какой на данный момент рейтинг, ну и когда нажимаешь проголосовать то загорается всегда 1-2 звезды не больше. В базе данных рейтинг правильно считается. В чем может быть дело? У вас смотрю все норм работает в примерах-открываешь статью и сразу звезды закрашены прошлым рейтингом.
Шамшур Иван
Шамшур Иван 3 июня 2012 | 23:14
-1
Для того, чтобы, задать какое-то количество закрашенных звезд, необходимо внутрь нашего элемента вставить скрытое поле для ввода с именем name="val", которое будет содержать значение Вашего рейтинга
Alex
Alex 24 июня 2012 | 00:32
0
Не передаются данные в таблицу. Что может быть не так?
]> </script> <script src="/templates/test/js/jquery.rating-2.0.min.js" type="text/javascript"></script> <script type="text/javascript"> // <![CDATA[ $(function() { $('#rating').rating({ fx: 'float', stars: 5, image: 'images/stars.png', loader: 'images/ajax-loader.gif', url: 'vote.php' }); }) // ]]> </script> </p> <script type="text/javascript"> // <![CDATA[ $('#rating').rating(); // ]]> </script> <div class="rating"> <script type="text/javascript"> // <![CDATA[ $('#rating').rating(); // ]]> </script><input type="hidden" name="val" value="2.75" /><input type="hidden" name="votes" value="2" /><input type="hidden" name="vote-id" value="1" /> </div> <script type="text/javascript"> // <![CDATA[ $('#rating').rating(); // ]]> </script> <div id="rating"> <script type="text/javascript"> // <![CDATA[ $(function() { $('#rating').rating({ fx: 'float', stars: 5, image: 'images/stars.png', loader: 'images/ajax-loader.gif', url: 'vote.php', readonly: 'true' }); }) // ]]> </script> <script type="text/javascript"> // <![CDATA[ $('#rating').rating(); // ]]> </script><input type="hidden" name="vote-id" value="voteID" /> </div> <div id="rating_3"> <script type="text/javascript"> // <![CDATA[ $('#rating_3').rating({ fx: 'float', image: 'images/stars.png', loader: 'images/ajax-loader.gif', minimal: 0.6, url: 'rating.php', callback: function(responce) { this.vote_success.fadeOut(2000); if (responce.msg) alert(responce.msg); } }); // ]]> </script> </div> <div id="rating_2"> <script type="text/javascript"> // <![CDATA[ $('#rating_2').rating({ fx: 'half', image: 'images/stars.png', loader: 'images/ajax-loader.gif', url: 'http://zvh9db.mirohost.net/index.php?db=aboutonl&token=60c67c0c5910141f7d3b9dfa7feea766', callback: function(responce) { this.vote_success.fadeOut(2000); alert('Общий бал: ' + this._data.val); } }); // ]]> </script> </div> <div id="rating_1"> <script type="text/javascript"> // <![CDATA[ $('#rating_1').rating({ fx: 'full', image: 'images/stars.png', loader: 'images/ajax-loader.gif', url: 'http://aboutonline-casino.com/igraya-v-internet-kazino-my-znaem-chto-ne-zaschischeny-na-stolko-skolko-hoteli-by.html', callback: function(responce) { this.vote_success.fadeOut(2000); } }); // ]]> </script> </div> <div id="rating"> <script type="text/javascript"> // <![CDATA[ $(function() { $('#rating').rating({ fx: 'float', stars: 5, image: 'images/stars.png', loader: 'images/ajax-loader.gif', url: 'vote.php' }); }) // ]]> </script> </div>]
Alex
Alex 27 июня 2012 | 23:56
+1
Прошу прощения, все еще не получается подключить плагин. html код страницы:
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js" type="text/javascript"></script>
<script type="text/javascript">
// <![CDATA[
window.jQuery || document.write('<script data-mce-type="text/javascript" src="js/jquery-1.6.2.min.js" data-mce-type="text/javascript"><\/script>');
// ]]>

</script>
<script src="/templates/test/js/jquery.rating-2.0.js" type="text/javascript"></script>
</p>
<p>
<link href="/templates/test/css/styles9.css" rel="stylesheet" type="text/css" />
<link href="/templates/test/css/jquery.rating.css" rel="stylesheet" type="text/css" />
</p>
<div id="rating">
<script type="text/javascript">
// <![CDATA[
$('#rating').rating();
// ]]>

</script>
</div>
Точнее рейтинг есть, но после обновления страницы можно снова голосовать. Кукиз не работает.
Alex
Alex 29 июня 2012 | 17:45
+7
Помощи не будет?(
Philipp
Philipp 30 июня 2012 | 00:15
-1
Здравствуйте, Иван.
Я использую движок Eleanor CMS V. pre 0.9 (очень похоже что и этот сайт на нем построен)
В Вашем примере показано - как сделать обработчик рейтинга для заметок. А как сделать так, чтобы можно было обрабатывать таким же образом рейтинг внутри статьи размещенной на странице Eleanor CMS ввиде новости ?
например : текст статьи, и где-то внутри текста форма с рейтингом где предложено оценить качество товара или услуги с помощью этого плагина
Дмитрий
Дмитрий 1 декабря 2012 | 22:37
-1
Странно, а у меня куки не устанавливаются, говорит, мол, что заголовки уже отправлены. Похоже, придется отказаться от защиты от накруток
Дмитрий
Дмитрий 6 декабря 2012 | 07:27
-1
Блин, оказывается я сам накосячил, поэтому и не работало ничо. Где-то в начале файла лишние пробелы затесались :)
jokerhaus
jokerhaus 13 января 2013 | 08:16
+1
у меня проблема, поставил все, прописал таблицу по запросу, да появились все значения, заполнил файлы логин и пароль от базы имя таблицы, вообще все, но рейтинг не работает, может я ошибку где делаю, дайте пример какую строку надо добавить в базу и какой ид написать на странице, а то при нажатии пишет произошла ошибка.
jokerhaus
jokerhaus 13 января 2013 | 21:39
0
Проблему решил, все дело в таблице.
jokerhaus
jokerhaus 14 января 2013 | 01:02
-1
как создать два голосования на одной странице ?? работает только одно
Сашка
Сашка 17 января 2013 | 15:01
+1
В IE работает с глюками: при первой загрузке страницы висит значок ajax-loader.gif и звезды не появляются. После обновления отрабатывает вроде.
А потом при голосовании можно не дождаться результата: тот же "load..." висит и ничего не происходит.
А в остальном - классный плагин и статьи! Иван, спасибо!
dima
dima 9 апреля 2013 | 14:53
+1
Плагин неплохой, но неправильно считает. Например, ставлю 2.5, перезагружаю страницу, ставлю 3.5. По идее должно быть (2.5+3.5) / 2 = 3, но получается средняя оценка - 2.75. Буду благодарен - если поправите.
Ирина
Ирина 23 сентября 2013 | 23:07
-1
Нажимаю звезду, рейтинг бесконечно грузится. Как это исправить?
Татьяна
Татьяна 22 мая 2018 | 11:32
-1
Ирина, здравствуйте! Понимаю, что прошло много времени, но может вспомните, как Вы решили проблему с бесконечной загрузкой рейтинга. Спасибо
Борис
Борис 22 августа 2014 | 12:27
-1
реально все работает. отличная статья.
Петр
Петр 10 декабря 2017 | 10:58
-1
Спасибо. Плагин отличный. Только на некоторых страницах у меня установлен еще этот скрипт: https://print-reklama.by/new/jquery.full.js
Они конфликтуют. Рейтин не работает. В программировании слабоват. Помогите исправить. Спасибо.
Петр
Петр 10 декабря 2017 | 11:26
-1
Исправил) Если у кого-то тоже возникла такая проблема...
В начале вместо " ;(function($){ " написал " ;$(document).ready(function($){ " Все работает. За рейтинг спасибо!
Артур
Артур 23 марта 2018 | 14:54
-1
Извините а ваш скрипт позваляет рейтингу показатся в Google Rich Snippets?
Татьяна
Татьяна 22 мая 2018 | 11:34
0
Добрый день. У кого-нибудь была проблема, что при нажатии на рейтинг загрузка идет бесконечно. Как решили? спасибо
Вячеславович
Вячеславович 24 декабря 2019 | 20:02
0
Та же фигня

Простая CRM

Твиттер Facebook Google plus RSS