我正在用 php jquery 和 ajax 构建一个审查系统。我已经为“此评论有帮助吗?”编写了以下代码。按钮:
<input type='button' value='Yes' onClick = 'myCall()'
style='background-color:#556B2F;color:white;padding:2px; cursor:pointer'
name='help' />
<input type='hidden' id='randomdirectory' value='$g' name='ids'/>
$g 是我分配给存储在数据库中的评论 id 的变量。ajax 脚本是这样的:
<script>
function myCall() {
var ids = $('#randomdirectory').val();
var self = this;
$.ajax({
url: 'rev.php',
type: 'POST',
data: {ids: ids},
success: function(data) {
$('#ques1').hide();
}
});
}
“rev.php”文件中的代码是这样的:
<?php
include 'includes/db.php';
$q = $_POST['ids'];
if ($q != ""){
$result = mysql_query("SELECT * FROM table where id='$q'");
while($row = mysql_fetch_array($result))
{
$finalproduct = $row['numberofhelpfulvotes'];
$finalproduct1 = $finalproduct + 1;
}
mysql_query("UPDATE table SET numberofhelpfulvotes='$finalproduct1' WHERE id ='$q'");
}
?>
问题是当我在页面上有多个评论时。当您单击任何评论上的任何“是”按钮时,显示的第一个评论会获得添加的投票,而不是单击按钮的实际评论。此外,当在 ajax 调用后隐藏按钮和文本时,隐藏第一个评论按钮和文本,而不是单击按钮的评论。页面底部还会出现一条黑线。
对这些问题的任何解决方案将不胜感激。