riformulo magari qualcuno si accorgera' di questo post :
ho una tabella composta in questo modo:
id
total_votes
total_value
used_ips
hub_name
hub_description
hub_address
hub_users
hub_share
hub_nation
hub_lastregistration
poi ho questa pagina che e' quella che richiama i voti inseriti e li mette nella tabella qui sopra:
Codice PHP:
<?php
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: [url]http://www.masugadesign.com/the-lab/scripts/unobtrusive-ajax-star-rating-bar/#comment-121[/url]
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.'';
$static_rater[] .= '[/list]';
$static_rater[] .= '<p class="static">'.$id.'. Rating: [b] '.$rating1.'[/b]/'.$units.' ('.$count.' '.$tense.' cast) [i]This is \'static\'.[/i]</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.'';
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.='[*][url="db.php?j='.$ncount.'&q='.$id.'&t='.$ip.'&c='.$units.'"]'.$ncount.'[/url]';
}
}
$ncount=0; // resets the count
$rater.='[/list]';
$rater.=' <p';
if($voted){ $rater.=' class="voted"'; }
$rater.='>'.$id.' Rating: [b] '.$rating1.'[/b]/'.$units.' ('.$count.' '.$tense.' cast)';
$rater.=' </p>';
$rater.='</div>';
$rater.='</div>';
return $rater;
}
}
?>
io vorrei che non inserisse l'id perke' viene inserito gia in automatico da un altra applicazione,a me interesserebbe che leggesse l'id della tabella per prendere i dati delle votazioni quindi per far vedere quanti voti ha quell'id,ma che non lo inserisse l'id perche' cosi com'e' strutturata ogni voto crea un id nuovo,mentre invece deve scrivere in una tabella dove l' id e' gia esistente,l'id lo deve solo prendere per leggerlo e riportare il numero dei voti.
spero di esser stato chiaro.