我已经在 Jquery 中为我的网站实现了评级。 目前,如果评分为 4,且同一用户添加评分为 3,则评分数据库中将保存值 7。 所以基本上我只想重置以前的评级并在数据库和网页中添加当前评级(3)。
我怎样才能实现这个目标?
代码:
<li onmouseover="highlightStar(this,'rating');" onmouseout="removeHighlight();" onClick="addRating(this,'rating');">★</li>
<li onmouseover="highlightStar(this,'rating');" onmouseout="removeHighlight();" onClick="addRating(this,'rating');">★</li>
<li onmouseover="highlightStar(this,'rating');" onmouseout="removeHighlight();" onClick="addRating(this,'rating');">★</li>
<li onmouseover="highlightStar(this,'rating');" onmouseout="removeHighlight();" onClick="addRating(this,'rating');">★</li>
<li onmouseover="highlightStar(this,'rating');" onmouseout="removeHighlight();" onClick="addRating(this,'rating');">★</li>
JQuery:
function addRating(obj) {
$('li').each(function(index) {
$(this).addClass('selected');
$('#rating').val((index+1));
if(index == $("li").index(obj)) {
return false;
}
});
}
MySQL PHP 代码:
if( empty($_POST)){
}else if(strlen($_POST['currentReview']) >0 ){
$currentReview = $_POST['currentReview'];
$rating1 = intval($_POST['rating']) ;
echo $rating1;
$select_rating = "Select * from ratings where product_id = ". $product_id . "AND user_id = " .$user_id ;
if(!($result = mysql_query($select_rating, $databaseObj))){
print("Couldn't execute select_rating");
print $select_rating;
die("My SQL error while inserting record");
} else{
echo "RATINGS::::::" ;
$row = mysql_fetch_row($result);
print_r($row);
}
//print "Rating value is $rating1 Char value : $_POST['rating'] </br>";
$insert_query = "INSERT INTO ratings (product_id,site_id,user_id,rating, review) VALUES ($product_id,$site_id,$user_id,$rating1,\"$currentReview\") ON DUPLICATE KEY UPDATE review = \"$currentReview\",rating=$rating1;";
}
if(!($result = mysql_query($insert_query, $databaseObj))){
print("Couldn't execute insert_query");
print $insert_query;
die("My SQL error while inserting record");
}
最佳答案
检查用户的数据库,如果有结果,则更新而不是插入
if (mysql_query("SELECT rating FROM ratings WHERE user_id = $user_id", $databaseObj)) {
$insert_query =" UPDATE ratings SET rate = $rating1 WHERE user_id = $user_id";
}
关于javascript - 在添加新星级之前重置 JQuery 星级,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33880753/