我已将一些星号值手动插入数据库中,我通过此代码获取并针对相关产品显示了该代码,现在已成功完成。我想在用户单击针对相关产品的星号时将新的星值插入数据库中>
我使用php作为服务器端语言和mysql数据库
<?php
include("sessiondestroy.php");
include("functions.php");
$ip = getRealIPAddr();
include("header.php");
include("leftside.php");
?>
<td width="53%" style="align-left:15px;" valign="top" >
<div class="row" align="center" >
<?php
$con = mysqli_connect('localhost','root',"",'furniture_store');
mysqli_select_db($con,'furniture_store');
$query="select product_id, product_name, s_price, product_pick, rating from product";
$run=mysqli_query($con,$query);
while($row=mysqli_fetch_array($run)){
$id=$row['product_id'];
$name=$row['product_name'];
$image=$row['product_pick'];
$rating=$row['rating'];
?>
<div class="col-md-3" align="center" style="border:#CCCCCC solid 1px; margin:15px; padding:8; ">
<div class="container fill">
<div class="modal-body">
<form action="index.php" method = "post">
<table>
<tr align="centr">
<td align="center"><?php echo $name; ?></td>
</tr>
<tr>
<td>   </td>
</tr>
<tr>
<td ><img width="100px" height="140px" src="admin/AdminLTE/<?php echo $image; ?>"></td>
</tr>
<tr>
<td>   </td>
</tr>
<tr align="left">
<td style="padding-right:15px;"><input id="input-1" name="input-1" class="rating rating-loading" value="<?php echo $rating; ?>" data-min="0" data-max="5" data-step="0.1" data-size="" data-show-clear="false" data-show-caption="false"></td>
</tr>
<tr>
<td>   </td>
</tr>
<tr>
<td align="center"><a href="userside_productdetail.php?id=<?php echo $id; ?>"><input type="submit" name="detail" class="btn btn-success" value="Details"></a></td>
</tr>
</table>
</form>
</div>
</div>
</div>
<?php } ?>
</div>
</td>
<?php include("rightside.php"); ?>
<?php include("footer.php"); ?>
<script>
$("#input-id").rating();
</script>
</body>
</html>
答案 0 :(得分:0)
@yawar,您可以使用jquery $ .post方法将您的评估值保存到数据库中,这很简单。但问题是您没有提及正在使用的数据库,正在使用的服务器端语言,甚至没有提及评级参考。这个等级是针对用户,产品或评论还是其他。
我们在这里: 尽管这是获得结果的非常基本的示例,但是您需要做更多的工作。给定的示例代码欢迎XSS和SQL注入攻击。我在这里不能覆盖那部分,因为它需要充分理解您的所有代码,并在需要的地方应用它,这可能需要对整个代码进行很多更改。希望您将此示例代码仅作为示例,而不是解决方案。
步骤1: 更改
<td style="padding-right:15px;"><input id="input-1" name="input-1" class="rating rating-loading" value="<?php echo $rating; ?>" data-min="0" data-max="5" data-step="0.1" data-size="" data-show-clear="false" data-show-caption="false"></td>
使用
<td style="padding-right:15px;"><input id="input-1" name="input-1" class="rating rating-loading" value="<?php echo $rating; ?>" data-min="0" data-max="5" data-step="0.1" data-size="" data-show-clear="false" data-show-caption="false" data-product-id="<?php echo $id;?>"></td>
步骤2: 更改
<script>
$("#input-id").rating();
</script>
使用
<script>
$("#input-id").rating();
$(document).on('change','.rating',function(){
var prating = $(this).val();
var product_id = $(this).data('product-id');
$.post("updRating.php",{prating: prating, product_id: product_id})
.done(function( data ) {
if(data == 'Success'){
alert( "Thank you for give your rating..." );
}else{
alert( "Opps!!! something went wrong, please try again" );
}
});
})
</script>
第3步: 创建一个PHP文件以更新产品评级。例如。 updRating.php为
<?php
$con = mysqli_connect('localhost','root',"",'furniture_store');
mysqli_select_db($con,'furniture_store');
$rating = $_POST['prating'];
$product_id = (int)$_POST['product_id'];
$query = "update product set rating = '".$rating."' where product_id = ".$product_id;
if(mysqli_query($con,$query)){
echo 'Success';
}else{
echo 'Error';
}
?>