asad_black Posted March 12, 2009 Share Posted March 12, 2009 hi...! em working on this site http://jugnoo.tv and currently working on the rate this video script..! when you visit the following link you will see the list of video. http://jugnoo.tv/category_activity.php when you click on any thumbnail of video the video will be played and you will also see the rate this video on the bottom of the player...! now my problem is that: this script work on the one video means when rate any video it will show same rating on every video...! <?php $vid_id = $_GET['id']; $con = mysql_connect("localhost","sample","sample"); if (!$con) { die('Could not connect: ' . mysql_error()); } mysql_select_db("sample", $con); $result = mysql_query("SELECT * FROM links WHERE id =$vid_id"); echo "<table border='0'> <tr valign=top> </tr>"; while($row = mysql_fetch_array($result)) { echo "<tr valign=top>"; //echo "<td>" . $row['kw'] . "</td>"; //echo "<td>" . $row['des'] . "</td>"; echo "<td>" . $row['embed'] . "</td>"; echo "<td width='20'></td>"; echo "<td class=ddesc>" . $row['ddes'] . "</td>"; //echo "<td valgin=top >" . $row['text'] . "</td></center>"; echo "</tr>"; } echo "</table>"; mysql_close($con); ?></td> </tr> </table> </td> <td bgcolor="#FFFFFF"> </td> </tr> <tr bgcolor="#FF0000"> <td valign="top" bgcolor="#FFFFFF"> </td> <td height="35" colspan="2" valign="top" bgcolor="#FFFFFF"> //************THIS IS RATING SCRIPT******// <?php rating_form("test2"); ?><br> //************end of script******// <?php include("lowermenu.php"); ?></td> the above code is my code where include the rate script and this is actual code of rating: <?php class rating{ public $average = 0; public $votes; public $status; public $table; private $path; function __construct($table){ try{ $pathinfo = pathinfo(__FILE__); $this->path = realpath($pathinfo['dirname']) . "/database/ratings.sqlite"; $dbh = new PDO("sqlite:$this->path"); $this->table = $dbh->quote($table); // check if table needs to be created $table_check = $dbh->query("SELECT * FROM $this->table WHERE id='1'"); if(!$table_check){ // create database table $dbh->query("CREATE TABLE $this->table (id INTEGER PRIMARY KEY, rating FLOAT(3,2), ip VARCHAR(15))"); $dbh->query("INSERT INTO $this->table (rating, ip) VALUES (0, 'master')"); } else { $this->average = $table_check->fetchColumn(1); } $this->votes = ($dbh->query("SELECT COUNT(*) FROM $this->table")->fetchColumn()-1); }catch( PDOException $exception ){ die($exception->getMessage()); } $dbh = NULL; } function set_score($score, $ip){ try{ $dbh = new PDO("sqlite:$this->path"); $voted = $dbh->query("SELECT id FROM $this->table WHERE ip='$ip'"); if(sizeof($voted->fetchAll())==0){ $dbh->query("INSERT INTO $this->table (rating, ip) VALUES ($score, '$ip')"); $this->votes++; //cache average in the master row $statement = $dbh->query("SELECT rating FROM $this->table"); $total = $quantity = 0; $row = $statement->fetch(); //skip the master row while($row = $statement->fetch()){ $total = $total + $row[0]; $quantity++; } $this->average = round((($total*20)/$quantity),0); $statement = $dbh->query("UPDATE $this->table SET rating = $this->average WHERE id=1"); $this->status = '(thanks!)'; } else { $this->status = '(already scored)'; } }catch( PDOException $exception ){ die($exception->getMessage()); } $dbh = NULL; } } function rating_form($table){ $ip = $_SERVER["REMOTE_ADDR"]; if(!isset($table) && isset($_GET['table'])){ $table = $_GET['table']; } $rating = new rating($table); $status = "<div class='score'> <a class='score1' href='?score=1&table=$table&user=$ip'>1</a> <a class='score2' href='?score=2&table=$table&user=$ip'>2</a> <a class='score3' href='?score=3&table=$table&user=$ip'>3</a> <a class='score4' href='?score=4&table=$table&user=$ip'>4</a> <a class='score5' href='?score=5&table=$table&user=$ip'>5</a> </div> "; if(isset($_GET['score'])){ $score = $_GET['score']; if(is_numeric($score) && $score <=5 && $score >=1 && ($table==$_GET['table']) && isset($_GET["user"]) && $ip==$_GET["user"]){ $rating->set_score($score, $ip); $status = $rating->status; } } if(!isset($_GET['update'])){ echo "<div class='rating_wrapper'>"; } ?> <div class="sp_rating"> <div class="rating">Rating:</div> <div class="base"><div class="average" style="width:<?php echo $rating->average; ?>%"><?php echo $rating->average; ?></div></div> <div class="votes"><?php echo $rating->votes; ?> votes</div> <div class="status"> <?php echo $status; ?> </div> </div> <?php if(!isset($_GET['update'])){ echo "</div>"; } } if(isset($_GET['update'])&&isset($_GET['table'])){ rating_form($_GET['table']); } i adopt the rate script from http://www.colorpowered.com/colorrating/ Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.