Скрипт плагина построен на PHP и MySQL, обеспечивающих рейтинговую оценку посетителями материалов, подобную Netflix или Amazon, в соответствии с web 2.0 – без обновления страницы.
Ненавязчивость подразумевает, что если даже JavaScript выключен, то скрипт все равно сохранит работоспособность, хотя и с перезагрузкой страницы.
Есть возможность установить количество звезд по вашему желанию (т.е. 4, 5, или 10) – смотрите документацию.
Скрипт универсален и его можно адаптировать без больших затруднений по надобности.
Установка:
=========================================================================
1. Создайте таблицу для рейтинга в вашей базе данных
=========================================================================
CREATE TABLE 'ratings' (
'id' varchar(11) NOT NULL,
'total_votes' int(11) NOT NULL default 0,
'total_value' int(11) NOT NULL default 0,
'used_ips' longtext,
PRIMARY KEY ('id')
) TYPE=MyISAM AUTO_INCREMENT=3;
=========================================================================
2. Укажите соответствующую информацию в файле подключения к db _config-rating.php
=========================================================================
$dbhost = 'localhost';
$dbuser = '###';
$dbpass = '###';
$dbname = '###';
$tableName = 'ratings';
$rating_unitwidth = 30;
=========================================================================
3. Вставьте вверху (начале) каждой страницы, где нужна рейтинговая строка.
=========================================================================<?php require('_drawrating.php'); ?>
=========================================================================
4. Пропишите правильные пути к Javascript и CSS файлам
( behavior.js, rating.js, and rating.css
)
=========================================================================
<script type="text/javascript" language="javascript" src="js/behavior.js"></script>
<script type="text/javascript" language="javascript" src="js/rating.js"></script>
<link rel="stylesheet" type="text/css" href="css/rating.css" />
Не забудьте указать также пути для изображений. Файл behavior.js
находится отдельно от rating.js
, поскольку может использоваться не только в этом плагине.
=========================================================================
5. Вставьте вызов плагина в нужное для появления рейтинга место
=========================================================================
Замечание: как и в версии 1.2.1, используйте echo
! Если используете статичный параметр, то всегда определяейте второй параметр (число звездочек), даже если он пуст (по умолчанию 10)
<?php echo rating_bar('8'); ?> – 10 звезд (default), ID of 8 <?php echo rating_bar('8xxa','5'); ?> – 5 звезд, ID of 8xxa <?php echo rating_bar('9a','5','static'); ?> – 5 звезд, ID of 9a, статичных (не голосующих) <?php echo rating_bar('9b',''); ?> – 10 stars, ID of 9b <?php echo rating_bar('9c','8','static'); ?> – 8 звезд, ID of 9c, статичных (не голосующих)
Для изменения отображения строки рейтинга отредактируйте _drawrating.php file
. Также может понадобится конец файла rpc.php
, строка примерно 52, где находится переменная $newback
.
Комментарии:
Вексиль#
Спасибо. Статья хорошая. Но все таки как создать таблы. У меня немного другой вариант myadmin там еще доп поля есть с вашего скрина вставил значения но таблица не создается. В тырнете инфы полно. но по делу ничего найти не могу.
coder.hol.es /* Админ */#
Пожалуйста) Дело в том, что таблица создается – база может быть другая, но таблица создается, согласно запросу. Может быть, ваш сервер не поддерживает MyISAM – это не важно, можно любой другой InnoDB, например, и вообще, не указывать – по умолчанию. Если дело, конечно, в таблице, а не в остальной реализации скрипта.
CREATETABLE `ratings` (
`id` varchar(11) NOTNULL, `total_votes` int(11) NOTNULL default 0, `total_value` int(11) NOTNULL default 0, `used_ips` longtext, PRIMARYKEY ('id')
) ;
Попробуйте так – и именно через запрос, а не вручную. Если таблица создается без ошибок, то дело не в таблице.
Mikha#
Ошибка Error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE id='8'' at line 1 Как быть?
coder.hol.es /* Админ */#
Попробуйте поизменять запрос – возможно, у вас используется InnoDB, например. И в запросе WHERE что-то не обнаружил (в создании базы). Если это в процессе работы уже установленного скрипта, то здесь могут особенности как конфигурации хостинга, так и используемого движка, особенностей вывода и т.д. – гадать сложно, тут только вам виднее.
Лучше бы, конечно, обкатывать все на локале, на Open Server, например – можно выставлять различные версии серверов.
VeRa#
Все данные правильные, но выводит такое Unobtrusive AJAX Star Rating Bar v 1.2.2, March 18, 2007 Make sure to first check the Read Me file and add your database info to the _config_rating.php file. Error connecting to mysql