【发布时间】:2015-11-16 13:58:20
【问题描述】:
我正在关注找到here 的教程,但我似乎无法弄清楚如何从数据库中的评级中填写星星。基本上,我想要在用户提交他/她自己的评分之前显示当前评分和显示多少评分。 我不想动态构建需要评分的产品列表,我只需要发布 id 并根据 data-id 生成评分计数...
--更新 我可以发布评级,但我需要为每个产品分配一个 ID。我只能获取一个值的值,但我认为我需要分配一个 var 以便我可以为任何给定产品提取它们
产品:
<div class="store-item-rating text-warning rate-ex1-cnt" id ="1">
<div id="1" class="rate-btn-1 rate-btn"></div>
<div id="2" class="rate-btn-2 rate-btn"></div>
<div id="3" class="rate-btn-3 rate-btn"></div>
<div id="4" class="rate-btn-4 rate-btn"></div>
<div id="5" class="rate-btn-5 rate-btn"></div>
</div>
<div class="store-item-rating text-warning rate-ex2-cnt" id ="2">
<div id="1" class="rate-btn-1 rate-btn"></div>
<div id="2" class="rate-btn-2 rate-btn"></div>
<div id="3" class="rate-btn-3 rate-btn"></div>
<div id="4" class="rate-btn-4 rate-btn"></div>
<div id="5" class="rate-btn-5 rate-btn"></div>
</div>
JS
$(function(){
$('.rate-btn').hover(function(){
$('.rate-btn').removeClass('rate-btn-hover');
var therate = $(this).attr('id');
for (var i = therate; i >= 0; i--) {
$('.rate-btn-'+i).addClass('rate-btn-hover');
};
});
$('.rate-btn').click(function(){
var therate = $(this).attr('id');
var dataRate = 'act=rate&product_id=<?php echo $product_id; ?>&rate='+therate; //
$('.rate-btn').removeClass('rate-btn-active');
for (var i = therate; i >= 0; i--) {
$('.rate-btn-'+i).addClass('rate-btn-active');
};
$.ajax({
type : "POST",
url : "inc/ajax.php",
data: dataRate,
success:function(){}
});
});
});
伯爵
<div class="box-result-cnt">
<?php
$query = mysql_query("SELECT * FROM tbl_rating");
while($data = mysql_fetch_assoc($query)){
$rate_db[] = $data;
$sum_rates[] = $data['rate'];
}
if(@count($rate_db)){
$rate_times = count($rate_db);
$sum_rates = array_sum($sum_rates);
$rate_value = $sum_rates/$rate_times;
$rate_bg = (($rate_value)/5)*100;
}else{
$rate_times = 0;
$rate_value = 0;
$rate_bg = 0;
}
?>
<hr>
<h3>The content was rated <strong><?php echo $rate_times; ?></strong> times.</h3>
<hr>
<h3>The rating is at <strong><?php echo $rate_value; ?></strong> .</h3>
<hr>
<div class="rate-result-cnt">
<div class="rate-bg" style="width:<?php echo $rate_bg; ?>%"></div>
<div class="rate-stars"></div>
</div>
<hr>
</div>
【问题讨论】:
-
你能告诉我们你到目前为止的尝试吗?