Например, я целый день пытался добавить пару новых функций в свой сценарий. Я хочу, чтобы я мог отображать среднюю оценку и голоса, поданные под изображениями с моим рейтингом, как в примере ниже. .
**********
9.8/10 (1160 vote cast)
Я пытался все и столкнулся с новой проблемой за проблемой за проблемой. Например, теперь каждая новая PHP-функция мешает друг другу.
Например, моя первая функция PHP getRating()
работает правильно сама по себе, но не будет правильно отображаться при использовании ее со второй функцией PHP evaluateRatingText()
, и моя первая функция PHP испортила мою вторую функцию PHP, отображая средний рейтинг все неправильно, например, оно отображает значение дважды.
Итак, как мне заставить обе мои функции PHP работать правильно вместе с моей функцией JQuery, которая правильно отображает мою первую функцию php getRating()
, чтобы моя функция JQuery могла отображать обе функции PHP соответственно? Может кто-нибудь помочь мне с примерами было бы здорово?
Вот мои функции PHP.
// function to retrieve
function getRating(){
$sql= "select * from vote";
$result=@mysql_query($sql);
$rs=@mysql_fetch_array($result);
// set width of star
$rating = (@round($rs['value'] / $rs['counter'],1)) * 10;
echo $rating;
}
// function to retrieve average rating and votes
function evaluateRatingText(){
$sql= "select * from vote";
$result=@mysql_query($sql);
$rs=@mysql_fetch_array($result);
$avg = (@round($rs['value'] / $rs['counter'],1)) * 10;
$votes = $rs['counter'];
echo $avg . "/10 (" . $votes . " votes cast)";
}
Вот функция JQuery.
// get current rating
getRating();
// get rating function
function getRating(){
$.ajax({
type: "GET",
url: "update.php",
data: "do=getrate",
cache: false,
async: false,
success: function(result) {
// apply star rating to element
$("#current-rating").css({ width: "" + result + "%" });
},
error: function(result) {
alert("some error occured, please try again later");
}
});
}
HTML-разметка.
<ul class='star-rating'>
<li class="current-rating" id="current-rating"></li>
<li class="rating-text" id="rating-text"></li>
<span id="ratelinks">
<li><a href="javascript:void(0)" title="1 star out of 10" class="one-star">1</a></li>
<li><a href="javascript:void(0)" title="2 stars out of 10" class="two-stars">2</a></li>
<li><a href="javascript:void(0)" title="3 stars out of 10" class="three-stars">3</a></li>
<li><a href="javascript:void(0)" title="4 stars out of 10" class="four-stars">4</a></li>
<li><a href="javascript:void(0)" title="5 stars out of 10" class="five-stars">5</a></li>
<li><a href="javascript:void(0)" title="6 stars out of 10" class="six-star">6</a></li>
<li><a href="javascript:void(0)" title="7 stars out of 10" class="seven-stars">7</a></li>
<li><a href="javascript:void(0)" title="8 stars out of 10" class="eight-stars">8</a></li>
<li><a href="javascript:void(0)" title="9 stars out of 10" class="nine-stars">9</a></li>
<li><a href="javascript:void(0)" title="10 stars out of 10" class="ten-stars">10</a></li>
</span>
</ul>