Я создаю систему обзора с php jquery и ajax. Я уже написал следующий код для «Был ли этот отзыв полезен?» кнопка:'Этот обзор был полезным? кнопка 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 - это переменная, которую я присвоил идентификатору обзора, который хранится в базе данных. Сценарий 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, первая кнопка обзора и текст скрыты, а не обзор, на который была нажата кнопка. В нижней части страницы появляется черная линия.
Любые решения этих проблем будут очень признательны.
Вы дали разные идентификаторы всем кнопкам? –
Нет всех кнопок с идентификатором #randomdirectory –
, тогда это не должно происходить, вы должны использовать событие нажатия кнопки и в том, что this.val() и id всех кнопок должны быть разными –