С нами с 08.09.07
Сообщения: 296
Рейтинг: 375
|
Добавлено: 03/01/15 в 00:34 |
Есть простой скрипт рейтинга со звездочками. Вставляется на страницу так:
Код: [развернуть] | <?require ($_SERVER['DOCUMENT_ROOT'].'/Путь_до_папки_со_скриптом/ratings.php');?> |
В шаблон смарти я вставляю его через тег {php}
Код: [развернуть] | {php}
require ($_SERVER['DOCUMENT_ROOT'].'/Путь_до_папки_со_скриптом/ratings.php');
{/php} |
Но вместо звездочек рейтинга на странице лезет такая ошибка:
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='/view/nazvanie_rolika' at line 1
С чем это связано? Что за проблема?
P.S. Все пути в конфигах скрипта правильные , таблица в базе создана.
Всем рейтинг за помощь!
|
|
|
|
+ +
WP-Master
С нами с 17.01.13
Сообщения: 1922
Рейтинг: 1123
|
Добавлено: 03/01/15 в 00:58 |
Wicher: там точно должны быть / ?
|
|
|
|
С нами с 25.12.14
Сообщения: 602
Рейтинг: 441
|
Добавлено: 03/01/15 в 01:06 |
ratings.php использует синтаксис mysql, который не подходит к твоей версии mysql, посмотри руководство своей версии мускуля и поправь синтаксис запроса в скрипте в соответствии со своей версией мускуля. как то так.
|
|
|
|
С нами с 08.09.07
Сообщения: 296
Рейтинг: 375
|
Добавлено: 03/01/15 в 02:14 |
Дартаньян: да все верно , это ошибка выводит вторую часть урл страницы (без домена)
dizziness: Вот полностью содержимое файла ratings.php
Код: [развернуть] | <?php
#This work RatingIt 2.1 Ajax
require_once(dirname(__FILE__).'/_config-rating.php');
if ($_SERVER["REQUEST_URI"]=="/".$wwprating."/ratings.php") exit('This work RatingIt 2 Ajax');
require_once(dirname(__FILE__).'/rating.css.php');
require_once(dirname(__FILE__).'/_drawrating.php');
if (!@$zz){
$zz=$_SERVER["REQUEST_URI"];
$zz=str_replace('?','zzzSPECzzz',$zz);
$zz=str_replace('=','zzzSPEC2zzz',$zz);
$zz=str_replace('&','zzzSPEC3zzz',$zz);
}
?>
<script type="text/javascript" language="javascript" src="/<?php echo $wwprating; ?>/behavior.js"></script>
<script type="text/javascript" language="javascript" src="/<?php echo $wwprating; ?>/rating.js.php"></script>
<div id="container<?php echo rand(0,99999); ?>"><?php echo rating_bar($zz,@$sizerating,@$viewrating); ?></div> |
Хз че с ним сука не так...
|
|
|
|
С нами с 25.12.14
Сообщения: 602
Рейтинг: 441
|
Добавлено: 03/01/15 в 02:29 |
посмотреть бы это _drawrating.php
тут запись в мускуль скорее всего, в этом файле.
ну и версию mysql на сервере
|
|
|
|
+ +
WP-Master
С нами с 17.01.13
Сообщения: 1922
Рейтинг: 1123
|
Добавлено: 03/01/15 в 02:31 |
Wicher: чувак а другие файлики тут ведь нету mysql_query.
|
|
|
|
С нами с 08.09.07
Сообщения: 296
Рейтинг: 375
|
Добавлено: 03/01/15 в 09:25 |
Версия sql 5.1.73
Вот файл _drawrating.php
Код: [развернуть] |
<?php
/*
Page: _drawrating.php
Created: Aug 2006
Last Mod: Mar 18 2007
The function that draws the rating bar.
---------------------------------------------------------
ryan masuga, masugadesign.com
ryan@masugadesign.com
Licensed under a Creative Commons Attribution 3.0 License.
http://creativecommons.org/licenses/by/3.0/
See readme.txt for full credit details.
--------------------------------------------------------- */
require_once(dirname(__FILE__).'/_config-rating.php'); // get the db connection info
@header("Content-type: text/html; charset=$codername");
function rating_bar($id,$units='',$static='') {
global $rating_up,$rating_dbname,$rating_tableName,$rating_unitwidth,$wwprating,$rating_filestar,$rating_up,$lang,$wwprating;
$id=mysql_real_escape_string($id);
//set some variables
$ip = getipz();
if (!$units) {$units = $rating_up;}
if (!$static) {$static = FALSE;}
// get votes, values, ips for the current rating bar
$query=mysql_query("SELECT total_votes, total_value, used_ips FROM $rating_tableName WHERE id='$id' ")or die(" Error: ".mysql_error());
// insert the id in the DB if it doesn't exist already
// see: http://www.masugadesign.com/the-lab/scripts/unobtrusive-ajax-star-r
omment-121
if (mysql_num_rows($query) == 0) {
$sql = "INSERT INTO $rating_tableName (`id`,`total_votes`, `total_value`, `used_ips`) VALUES ('$id', '0', '0', '')";
$result = mysql_query($sql);
}
$numbers=mysql_fetch_assoc($query);
if ($numbers['total_votes'] < 1) {
$count = 0;
} else {
$count=$numbers['total_votes']; //how many votes total
}
$current_rating=$numbers['total_value']; //total number of rating added together and stored
$tense=num2word($count, array($lang['up1'], $lang['up2'], $lang['up3']));
// determine whether the user has voted, so we know how to draw the ul/li
$voted=mysql_num_rows(mysql_query("SELECT used_ips FROM $rating_tableName WHERE used_ips LIKE '%".$ip."%' AND id='".$id."' "));
// now draw the rating bar
$rating_width = @number_format($current_rating/$count,2)*$rating_unitwidth;
$rating1 = @number_format($current_rating/$count,1);
$rating2 = @number_format($current_rating/$count,2);
if ($static == 'static') {
$static_rater = array();
$static_rater[] .= "\n".'<div class="ratingblock">';
$static_rater[] .= '<div id="unit_long'.$id.'">';
$static_rater[] .= '<ul id="unit_ul'.$id.'" class="unit-rating" style="width:'.$rating_unitwidth*$units.'px;">';
$static_rater[] .= '<li class="current-rating" style="width:'.$rating_width.'px;">'.$lang['currently'].' '.$rating2.'/'.$units.'</li>';
$static_rater[] .= '</ul>';
$static_rater[] .= '<p class="static">'.$lang['rating'].': <strong> '.$rating1.'</strong>/'.$units.' ('.$count.' '.$tense.' )</p>';
$static_rater[] .= '</div>';
$static_rater[] .= '</div>'."\n\n";
return join("\n", $static_rater);
} else {
$rater ='';
$rater.='<div class="ratingblock">';
$rater.='<div id="unit_long'.$id.'">';
$rater.=' <ul id="unit_ul'.$id.'" class="unit-rating" style="width:'.$rating_unitwidth*$units.'px;">';
$rater.=' <li class="current-rating" style="width:'.$rating_width.'px;">'.$lang['currently'].' '.$rating2.'/'.$units.'</li>';
for ($ncount = 1; $ncount <= $units; $ncount++) { // loop from 1 to the number of units
if(!$voted) { // if the user hasn't yet voted, draw the voting stars
$rater.='<li><a href="/'.$wwprating.'/db.php?j='.$ncount.'&q='.$id.'&t='.$ip.'&c='.$units.'" title="'.$ncount.' '.$lang['iz'].' '.$units.'" class="r'.$ncount.'-unit rater" rel="nofollow">'.$ncount.'</a></li>';
}
}
$ncount=0; // resets the count
$rater.=' </ul>';
$rater.=' <p';
if($voted){ $rater.=' class="voted"'; }
$rater.='> '.$lang['rating'].': <strong> '.$rating1.'</strong>/'.$units.' ('.$count.' '.$tense.')';
$rater.=' </p>';
$rater.='</div>';
$rater.='</div>';
return $rater;
}
}
?>
|
Я на свой делитанский взгляд ниче особенного не вижу вроде...
|
|
|
|
С нами с 25.12.14
Сообщения: 602
Рейтинг: 441
|
Добавлено: 03/01/15 в 13:13 |
Код: | // get votes, values, ips for the current rating bar
$query=mysql_query("SELECT total_votes, total_value, used_ips FROM $rating_tableName WHERE id='$id' ")or die(" Error: ".mysql_error()); |
id='$id' -> id=$id
попробуй так изменить
|
|
|
|
💀💀💀
С нами с 31.05.10
Сообщения: 4689
Рейтинг: 728
|
Добавлено: 03/01/15 в 17:33 |
может в базе ид выставлен как интовое значение,а ты туда суешь тексты. Посмотри внимательно. Эта раз.
И скрипт 2006 года, староват однако. нагуглить щас свеженький скрипт думаю не проблема.
И ваще, отпиши лемону, он вроде делал эти звездочки для смарта, но в платной версии.
|
|
|
|
С нами с 08.09.07
Сообщения: 296
Рейтинг: 375
|
Добавлено: 03/01/15 в 19:36 |
Ailk писал: | может в базе ид выставлен как интовое значение,а ты туда суешь тексты. Посмотри внимательно. Эта раз.
|
Да там явно непонятка вокруг этого id. Я нагуглил этот же скрипт но более ранний и сырой. Его удалось заставит звезды выводить на страницу , но работает всеравно криво. На нажатие по звезде рефрешит страницу и не записывает в бвзу ((
Цитата: |
И скрипт 2006 года, староват однако. нагуглить щас свеженький скрипт думаю не проблема.
|
Вериш нет - заипался искать. Нормального решения нет даже за деньги..
Цитата: |
И ваще, отпиши лемону, он вроде делал эти звездочки для смарта, но в платной версии. |
Дак я готов и оплатить работу. Незнаю про кого ты говоришь только..
|
|
|
|
С нами с 09.03.09
Сообщения: 6053
Рейтинг: 3538
|
Добавлено: 03/01/15 в 19:55 |
Wicher писал: | я готов и оплатить работу. |
Так и дай объявление в соответствующем разделе, мол так и так, хочу звездочки, плачу столько-то. И будет тебе нормальное решение. Тем более, что там работы на пару часов.
Вообще не понял зачем тебе на сидже рейтинг? И еще странно видеть как люди спокойно запускают на рабочих сайтах непонятный код. Не боишься что у тебя там уже пара троянов на серваке живет?
|
|
|
|
С нами с 08.09.07
Сообщения: 296
Рейтинг: 375
|
Добавлено: 03/01/15 в 20:08 |
Yacc: рейтинг чисто для красоты и соответствия. Даже выборки видео не надо для рейтинга. Едиственное что нужно что бы по ip не давал голосовать повторно. И вот такого то решения не могу найти.. (
Ну на счет запускать не запускать что то на серваке - дело такое - че только не бывало за долгие годы работы
|
|
|
|
С нами с 09.03.09
Сообщения: 6053
Рейтинг: 3538
|
Добавлено: 03/01/15 в 20:18 |
Я так сразу и понял, что рейтинг фэйковый. Тогда тебе пхп, база и прочее вообще не нужно. Делать все скриптом на клиенте, факт голосования отмечать в куках.
|
|
|
|
С нами с 08.09.07
Сообщения: 296
Рейтинг: 375
|
Добавлено: 03/01/15 в 20:28 |
Yacc писал: | отмечать в куках. |
Тоже не могу найти. Куча вариантов под конкретные двиги , а вот универсального не вижу. То ли не интересно это никому толи плохо ищу...
|
|
|
|
+ +
WP-Master
С нами с 17.01.13
Сообщения: 1922
Рейтинг: 1123
|
Добавлено: 03/01/15 в 21:18 |
Wicher: как минимум тебе стоит написать сюда
|
|
|
|
С нами с 09.03.09
Сообщения: 6053
Рейтинг: 3538
|
Добавлено: 04/01/15 в 09:34 |
|
|
|
|
С нами с 27.08.10
Сообщения: 567
Рейтинг: 36
|
Добавлено: 05/01/15 в 18:54 |
Wicher писал: | Вериш нет - заипался искать. Нормального решения нет даже за деньги.. | Тут посмотри
|
|
|
|