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