[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Скрипт рейтинга ajaxstarrater_v122. Не работает
Fanamura
Есть скрипт рейтинга на кверри, ajaxstarrater_v122, вставляется и т.д. просто, вот только в чем проблема:
Нажимаем на рейтинг на странице, куда я его вставил, появляется картинка загрузки и... все.. в БД ничего не пишется.
Если наведем на рейтинг мышкой, скопируем ссылку, , затем вставим ее в браузер и перейдем, все работает, в БД записывается то, что и требовалось. Вопрос, почему не работает и как исправить?)
Код в файле, как подключал рейтинг:
PHP
function rating_bar($id,$units='',$static='') { 

    
//Connect to  your rating database

    
$rating_dbhost        'localhost';
    
$rating_dbuser        '**********';
    
$rating_dbpass        '**********';
    
$rating_dbname        '**********';
    
$rating_tableName     '**********';
    
$rating_path_db       'http://subdomain.localhost/ajaxstarrater_v122/'// the path to your db.php file (not used yet!)
    
$rating_path_rpc      'http://subdomain.localhost/ajaxstarrater_v122/'// the path to your rpc.php file (not used yet!)
    
    
$rating_unitwidth     15// the width (in pixels) of each rating unit (star, etc.)
    // if you changed your graphic to be 50 pixels wide, you should change the value above
    
    //mysql_select_db($rating_dbname);
    
//set some variables
$ip $_SERVER['REMOTE_ADDR'];
if (!
$units) {$units 10;}
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_dbname.$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-rating-bar/#comment-121
if (mysql_num_rows($query) == 0) {
$sql "INSERT INTO $rating_dbname.$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=($count==1) ? "vote" "votes"//plural form votes/vote

// 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_dbname.$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;">Currently '.$rating2.'/'.$units.'</li>';
        
$static_rater[] .= '</ul>';
        
$static_rater[] .= '<p class="static">'.$id.'. Ðåéòèíã: <strong> '.$rating1.'</strong>/'.$units.' ('.$count.' ãîëîñîâ) <em>This is \'static\'.</em></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;">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="components/com_joomleague/frontend/default/ajaxstarrater_v122/db.php?j='.$ncount.'&amp;q='.$id.'&amp;t='.$ip.'&amp;c='.$units.'" title="'.$ncount.' out of '.$units.'" class="r'.$ncount.'-unit rater" rel="nofollow">'.$ncount.'</a></li>';
           }
      }
      
$ncount=0// resets the count

      
$rater.='  </ul>';
      if(
$voted){ $rater.=''; }
      
$rater.='<strong> '.$rating1.'</strong>/'.$units.'<br /> ('.$count.' ãîëîñîâ)';
      
$rater.='</div>';
      
$rater.='</div>';
      return 
$rater;
 }


<?
php echo rating_bar("$starid",5); 

Заранее спасибо за ответы smile.gif



Спустя 1 час, 31 минута, 3 секунды (21.07.2009 - 18:44) Wird_34 написал(а):
Ошибка по описанию вроде в реализации AJAX'а, а не в скрипте. А в приведенном вами кода его нет...
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.