2012-04-11 6 views
0

나는 5 성급 등급 시스템을 설치하려고 노력하며 완전히 좌절했다. 나는 이미 "place"라는 테이블에서 하나의 PHP 쿼리를 사용하고있다. 두 번째 표에 "투표"라고 적혀 있습니다. 나는 "장소"테이블에 문제가 없으며, 그 요소들은 잘 채워진다. 유일한 문제는 현재 Ajax 요청이 PHP로 작동하도록하는 것이고, 이때는 구석에 흐느껴 울 것입니다.PHP로 간단한 아약스 등급

다음 튜토리얼을 사용하려고했지만 내 모든 노력이 내 코드가 올바르게 실행되지 못하도록 차단할 수 없습니다.

http://sandbox.ronggur.com/2010/01/19/jquery-tutorial-simple-ajax-star-rating-with-php-extended/

어떤 도움

이 크게 감사합니다.

는 여기에 지금 캔트 코드를 통해 이동 지금 나와 함께 커피를 해달라고

<div id="pagewrap"> 
     <div id="widgets"> 
<?php 

$dbc = mysqli_connect(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME); 



    $query = "SELECT * FROM place"; 

     $data = mysqli_query($dbc, $query) 
      or die("Error: ".mysqli_error($dbc)); 

      while ($row = mysqli_fetch_array($data)) 
      {  
       echo '<div class="content">';           
        echo '<p id="type"> ' . $row['free'] . $row['paid'] . '</p>'; 
        echo '<div id="holder">'; 

        echo '<div id="loc_cont"><a href="site_info.php?id=' . $row['placeId'] . '"><img id="place_logo" alt="' . $row['placename'] . '" src="' . THUMBNAILS . $row['thumb'] . '" /></a>'; 

         echo '</div>'; 

         echo '<div class="info">'; 

         echo '<p id="loc">' . $row['placename'] . ' - ' . $row['city'] . '</p>'; 

         echo '</div>'; 
        echo ' </div>'; 
        echo '<div class="review">'; 
        echo '<div class="rates">'; 
        include_once('PHP/rating.php'); 
         #$star = fetchStar(); 
         #echo '<h2>Star Rater - '. $row['placeId'] .'</h2>'; 
         echo '<ul class="star-rating" id="star-rating-<'. $row['placeId'] .'"'; 
          echo '<li current-rating-<'. $row['placeId'] .'" style="width:getRating('. $row['placeId'] .')%"><!-- will show current rating --></li>'; 
           echo '<span id="'. $row['placeId'] .'">'; 
            echo '<li><a href="javascript:void(0)" title="1 star out of 5" class="one-star">1</a></li>'; 
            echo '<li><a href="javascript:void(0)" title="2 stars out of 5" class="two-stars">2</a></li>'; 
            echo '<li><a href="javascript:void(0)" title="3 stars out of 5" class="three-stars">3</a></li>'; 
            echo '<li><a href="javascript:void(0)" title="4 stars out of 5" class="four-stars">4</a></li>'; 
            echo '<li><a href="javascript:void(0)" title="5 stars out of 5" class="five-stars">5</a></li>'; 
           echo '</span>'; 
         echo '</ul>'; 
        echo '</div>'; 
        echo '</div>'; 
       echo '</div>'; 
      }     

mysqli_close($dbc); 

?> 
     </div> 
</div><!--End PageWrap div--> 
    <?php 
    if($_GET['do']=='rate'){ 
     // do rate and get id 
     rate($_GET['placeId']); 
      }else if($_GET['do']=='getrate'){ 
      // get rating and get id 
      getRating($_GET['placeId']); 
      } 

    // function to retrieve 
    function getRating($placeId){ 
     $sql= "select * from vote where placeId = '".$placeId."' "; 
    [email protected]_query($sql); 
    [email protected]_fetch_array($result); 
    // set width of star 
    $rating = (@round($rs[value]/$rs[counter],1)) * 20; 
    echo $rating; 
    } 


    // function to insert rating 
    function rate($placeId){ 
    $text = strip_tags($_GET['rating']); 
     $update = "UPDATE vote SET counter = counter + 1, value = value + ".$_GET['rating']." WHERE placeId = '".$placeId."' "; 

    $result = @mysql_query($update); 
    } 
    ?> 

/




/JavaScript Document 
    $(document).ready(function() { 
    // get rating function 


    function getRating(id){ 
    $.ajax({ 
    type: "GET", 
    url: "../PHP/rating.php", 
    data: "do=getrate&placeId="+id, 
    cache: false, 
    async: false, 
    success: function(result) { 
    // apply star rating to element 
    $("#current-rating-"+id+"").css({ width: "" + result + "%" }); 
     }, 
    error: function(result) { 
    alert("some error occured, please try again later"); 
    } 
    }); 
    } 

    // link handler 
    $('.rates li a').click(function(){ 
    // get the parent id 
    var idStar = $(this).parent().parent().attr('id'); 
    $.ajax({ 
    type: "GET", 
    url: "../PHP/rating.php", 
    data: "rating="+$(this).text()+"&do=rate&placeId="+idStar, 
    cache: false, 
    async: false, 
    success: function(result) { 
    // remove #ratelinks element to prevent another rate 
    $("#ratelinks").remove(); 
    // get rating after click 
    getRating(idStar); 
    }, 
    error: function(result) { 
    alert("some error occured, please try again later"); 
    } 
    }); 

    }); 
    }); 

답변

0

나단, 내 코드입니다. 그러나 비슷한 것을 코드 힌트와 함께 사용할 수있는 곳으로 연결할 수 있습니다.

Click Here

+0

저는 리소스에 대한 빠른 응답과 감사에 진심으로 감사드립니다. 문제는 PHP와 JavaScript getRating 함수 사이에 있다고 생각합니다. 자바 스크립트에 대한 제 경험을 감안할 때, 어떤 문제라도 제 코드를 깨뜨리는 것이 있다면, 저는 그것을 보지 못했을 것입니다. 아무도 잠시 시간을내어 리뷰를하고 휴식을 유발할 수 있다면 무엇을 볼 수 있는지 정말 고맙게 생각합니다. –

0

당신이 시도 할 수이 http://orkans-tmp.22web.net/star_rating/index.html 는 구현하기가 매우 쉽습니다.

+0

링크가 깨진 것 같습니다. –

+0

아니 .. google .. 'jquery ui star rating'을 (를) 검색해보세요. 첫 번째 링크 .. –