Greenguy's Board


Go Back   Greenguy's Board > Programming & Scripting
Register FAQ Calendar Search Today's Posts Mark Forums Read

 
 
Thread Tools Search this Thread Rate Thread Display Modes
Prev Previous Post   Next Post Next
Old 2009-07-11, 11:46 PM   #1
A.J. Angel
And Lord, we are especially thankful for nuclear power, the cleanest, safest
energy source there is. Except for solar, which is just a pipe dream
 
Join Date: Sep 2008
Posts: 229
Arrow Need help from PHP gurus

Hopefully, one on this board may help me! It shouldn't be too complicated. Anyway, I'm trying to edit a rating script file to display the stars only and instead of having the total rating under it, I would like it to be in the TITLE tags. So far, it only works when the user hasn't rated yet. Once the user has rated, the rating stats doesn't appear anymore. The script is from this site. Any help would be much appreciated. Thank you!

Here is the full code:

PHP Code:
<?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.
--------------------------------------------------------- */
function rating_bar($id,$units='',$static='') { 

require(
'_config-rating.php'); // get the db connection info
    
//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.'. Rating: <strong> '.$rating1.'</strong>/'.$units.' ('.$count.' '.$tense.' cast) <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="db.php?j='.$ncount.'&amp;q='.$id.'&amp;t='.$ip.'&amp;c='.$units.'" title="Rating: '.$current_rating.'/'.$units.' ('.$count.' '.$tense.' cast)" 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.='>'.$id.' Rating: '.$rating1.'/'.$units.' ('.$count.' '.$tense.' cast)';
      
$rater.='  </p>';
      
$rater.='</div>';
      
$rater.='</div>';
      return 
$rater;
 }
}
?>
And here is the code where the TITLE tags are located and that should be edited:

PHP Code:
           if(!$voted) { // if the user hasn't yet voted, draw the voting stars
              
$rater.='<li><a href="db.php?j='.$ncount.'&amp;q='.$id.'&amp;t='.$ip.'&amp;c='.$units.'" title="Rating: '.$current_rating.'/'.$units.' ('.$count.' '.$tense.' cast)" class="r'.$ncount.'-unit rater" rel="nofollow">'.$ncount.'</a></li>';
           } 
A.J. Angel is offline   Reply With Quote
 

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes Rate This Thread
Rate This Thread:

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -4. The time now is 10:38 AM.


Mark Read
Powered by vBulletin® Version 3.8.1
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© Greenguy Marketing Inc