Rating Artical

Discussion in 'Programming' started by adityadubay, Jun 19, 2008.

  1. #1
    Dear Friends
    i write a small code for display content on page

    <?php
    $conn=mysql_connect("localhost", "root", "") or die(mysql_error());
    $db=mysql_select_db("drupal1", $conn);
    $q = mysql_query("SELECT * FROM content_type_aggregator ")or die(mysql_error());
    echo "<table width='400px' border='0'>";
    echo "<tr><td>Subject</td>";
    echo "<td>Url</td></tr>";
    while($row = mysql_fetch_array($q))
    {
    echo "<tr><td>";
    echo $row['field_subject_category_value'];
    echo "</td>";
    echo "<td>";
    echo '<a href="../proxy.php?u='.$row[field_url_url].'">'.$row[field_url_url].'</a>';
    echo "</td></tr>";
    }
    echo "</table>";
    ?>



    and i also have code for rating articles which i display by above code
    my first php file for rating is rater.php

    <?

    // User settings
    $rater_ip_voting_restriction = true; // restrict ip address voting (true or false)
    $rater_ip_vote_qty=1; // how many times an ip address can vote
    $rater_already_rated_msg="You have already rated this item. You were allowed ".$rater_ip_vote_qty." vote(s).";
    $rater_not_selected_msg="You have not selected a rating value.";
    $rater_thankyou_msg="Thankyou for voting.";
    $rater_generic_text="this item"; // generic item text
    $rater_end_of_line_char="\n"; // may want to change for different operating systems



    if(!isset($rater_id)) $rater_id=1;
    if(!isset($rater_item_name)) $rater_item_name=$rater_generic_text;


    // DO NOT MODIFY BELOW THIS LINE
    $rater_filename='item_'.$rater_id.".rating";
    $rater_rating=0;
    $rater_stars="";
    $rater_stars_txt="";
    $rater_rating=0;
    $rater_votes=0;
    $rater_msg="";

    // Rating action
    if(isset($_REQUEST["rate".$rater_id])){
    if(isset($_REQUEST["rating_".$rater_id])){
    while(list($key,$val)=each($_REQUEST["rating_".$rater_id])){
    $rater_rating=$val;
    }
    $rater_ip = getenv("REMOTE_ADDR");
    $rater_file=fopen($rater_filename,"a+");
    $rater_str="";
    $rater_str = rtrim(fread($rater_file, 1024*8),$rater_end_of_line_char);
    if($rater_str!=""){
    if($rater_ip_voting_restriction){
    $rater_data=explode($rater_end_of_line_char,$rater_str);
    $rater_ip_vote_count=0;
    foreach($rater_data as $d){
    $rater_tmp=explode("|",$d);
    $rater_oldip=str_replace($rater_end_of_line_char,"",$rater_tmp[1]);
    if($rater_ip==$rater_oldip){
    $rater_ip_vote_count++;
    }
    }
    if($rater_ip_vote_count > ($rater_ip_vote_qty - 1)){
    $rater_msg=$rater_already_rated_msg;
    }else{
    fwrite($rater_file,$rater_rating."|".$rater_ip.$rater_end_of_line_char);
    $rater_msg=$rater_thankyou_msg;
    }
    }else{
    fwrite($rater_file,$rater_rating."|".$rater_ip.$rater_end_of_line_char);
    $rater_msg=$rater_thankyou_msg;
    }
    }else{
    fwrite($rater_file,$rater_rating."|".$rater_ip.$rater_end_of_line_char);
    $rater_msg=$rater_thankyou_msg;
    }
    fclose($rater_file);
    }else{
    $rater_msg=$rater_not_selected_msg;
    }
    }

    // Get current rating
    if(is_file($rater_filename)){
    $rater_file=fopen($rater_filename,"r");
    $rater_str="";
    $rater_str = fread($rater_file, 1024*8);
    if($rater_str!=""){
    $rater_data=explode($rater_end_of_line_char,$rater_str);
    $rater_votes=count($rater_data)-1;
    $rater_sum=0;
    foreach($rater_data as $d){
    $d=explode("|",$d);
    $rater_sum+=$d[0];
    }
    $rater_rating=number_format(($rater_sum/$rater_votes), 2, '.', '');
    }
    fclose($rater_file);
    }else{
    $rater_file=fopen($rater_filename,"w");
    fclose($rater_file);
    }

    // Assign star image
    if ($rater_rating <= 0 ){$rater_stars = "./img/00star.gif";$rater_stars_txt="Not Rated";}
    if ($rater_rating >= 0.5){$rater_stars = "./img/05star.gif";$rater_stars_txt="0.5";}
    if ($rater_rating >= 1 ){$rater_stars = "./img/1star.gif";$rater_stars_txt="1";}
    if ($rater_rating >= 1.5){$rater_stars = "./img/15star.gif";$rater_stars_txt="1.5";}
    if ($rater_rating >= 2 ){$rater_stars = "./img/2star.gif";$rater_stars_txt="2";}
    if ($rater_rating >= 2.5){$rater_stars = "./img/25star.gif";$rater_stars_txt="2.5";}
    if ($rater_rating >= 3 ){$rater_stars = "./img/3star.gif";$rater_stars_txt="3";}
    if ($rater_rating >= 3.5){$rater_stars = "./img/35star.gif";$rater_stars_txt="3.5";}
    if ($rater_rating >= 4 ){$rater_stars = "./img/4star.gif";$rater_stars_txt="4";}
    if ($rater_rating >= 4.5){$rater_stars = "./img/45star.gif";$rater_stars_txt="4.5";}
    if ($rater_rating >= 5 ){$rater_stars = "./img/5star.gif";$rater_stars_txt="5";}


    // Output
    echo '<div class="hreview">';
    echo '<form method="post" action="'.$_SERVER["PHP_SELF"].'">';
    echo '<h3 class="item">Rate <span class="fn">'.$rater_item_name.'</span></h3>';
    echo '<div>';
    echo '<span class="rating"><img src="'.$rater_stars.'?x='.uniqid((double)microtime()*1000000,1).'" alt="'.$rater_stars_txt.' stars" /> Ave. rating: '.$rater_stars_txt.'</span> from <span class="reviewcount"> '.$rater_votes.' votes</span>.';
    echo '</div>';
    echo '<div>';
    echo '<label for="rate5_'.$rater_id.'"><input type="radio" value="5" name="rating_'.$rater_id.'[]" id="rate5_'.$rater_id.'" />Excellent</label>';
    echo '<label for="rate4_'.$rater_id.'"><input type="radio" value="4" name="rating_'.$rater_id.'[]" id="rate4_'.$rater_id.'" />Very Good</label>';
    echo '<label for="rate3_'.$rater_id.'"><input type="radio" value="3" name="rating_'.$rater_id.'[]" id="rate3_'.$rater_id.'" />Good</label>';
    echo '<label for="rate2_'.$rater_id.'"><input type="radio" value="2" name="rating_'.$rater_id.'[]" id="rate2_'.$rater_id.'" />Fair</label>';
    echo '<label for="rate1_'.$rater_id.'"><input type="radio" value="1" name="rating_'.$rater_id.'[]" id="rate1_'.$rater_id.'" />Poor</label>';
    echo '<input type="hidden" name="rs_id" value="'.$rater_id.'" />';
    echo '<input type="submit" name="rate'.$rater_id.'" value="Rate" />';
    echo '</div>';
    if($rater_msg!="") echo "<div>".$rater_msg."</div>";
    echo '</form>';
    echo '</div>';

    ?>



    My php file for testing is test.php

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    <html>
    <head>
    <title> New Document </title>
    <meta name="Author" content="">
    <meta name="Keywords" content="">
    <meta name="Description" content="">
    </head>

    <body>

    <?
    $rater_id=1;
    $rater_item_name='Item 1';
    include("rater.php");
    ?>

    <?
    $rater_id=2;
    $rater_item_name='Item 2';
    include("rater.php");
    ?>

    </body>
    </html>


    i know i have to put some code in test.php
    and i am putting tooo
    but not able to link

    plz help me out its urgent
     

    Attached Files:

    adityadubay, Jun 19, 2008 IP
  2. itcn

    itcn Well-Known Member

    Messages:
    795
    Likes Received:
    31
    Best Answers:
    0
    Trophy Points:
    118
    #2
    I see a lot of code but what is your question/what do you need help with?
     
    itcn, Jun 19, 2008 IP