2016-01-27 5 views
0

Мне нравится и не нравится система на странице, как и не нравится, работает только на первой странице, но не на других сообщениях. Вот то, что я попыталсяphp нравится и не нравится не работает на каждое сообщение

Это, как я извлечения информации Вот это PHP часть

Like.php 
if(isset($_POST['id'])){ 
$send = mysqli_query($connecDB, "UPDATE portfolio SET `like`='$view' WHERE `id`='$id'"); } 

Javascript часть

<script type="text/javascript"> 
$(".btn-success").click(function() { 
var id = $('#id').val(); 
$.ajax({ 
    type : "POST", 
    url : "ajax/like.php", 
    data: "id=" + id, 
    success: function(data) { 
    $('#result').html(data); 

} 
}); 
}); 
</script> 

Вот это HTML часть

$sql = "SELECT * FROM post ORDER BY id DESC LIMIT 10"; 
$result = mysqli_query($connecDB, $sql); 
while($rowsmall = mysqli_fetch_array($result)){ 
<button class="btn btn-success btn-stroke" id="result"><?php echo $rowsmall['like']; ?>&nbsp;<i class="fa fa-thumbs-o-up fa-lg"></i> </button> 
<input type="hidden" name="id" id="id" value="<?php echo $rowsmall['id']; ?>"> <?php } ?> 

Проблема, с которой я сталкиваюсь, заключается в том, что javascript снова и снова отправляет тот же hidd ru id.

+0

вы должны сбросить скрытое значение на каждый клик либо нравится, либо не нравится – Monty

+0

[Little Bobby Tables] (http://stackoverflow.com/q/332365/1270789) будет веселиться! Пожалуйста, [параметризуйте свой SQL] (http://bobby-tables.com/php.html). –

+0

@Monty как сбросить скрытое значение? результат, который я получаю от like.php, также показан только в первом сообщении –

ответ

1

В HTML id атрибут должен имеет уникальное значение целой страницы, и эта линия (var id = $('#id').val();) всегда возвращает идентификатор первого поста, использование data атрибутов просто доступа к сообщению идентификатор, так как этот

PHP

<?php $sql = "SELECT * FROM post ORDER BY id DESC LIMIT 10"; 
$result = mysqli_query($connecDB, $sql); 
while($rowsmall = mysqli_fetch_array($result)){ 
    <button class="btn btn-success btn-stroke" data-id="<?php echo $rowsmall['id']; ?>" > 
     <?php echo $rowsmall['like']; ?>&nbsp;<i class="fa fa-thumbs-o-up fa-lg"></i> 
    </button> 
    <input type="hidden" name="id" value="<?php echo $rowsmall['id']; ?>"> 
<?php } ?> 

JavaScript

<script type="text/javascript"> 
$(".btn-success").click(function() { 
var id = $(this).data('id'); // get data-id atrribute 
var element = this; 
$.ajax({ 
    type : "POST", 
    url : "ajax/like.php", 
    data: "id=" + id, 
    success: function(data) { 
    $(element).html(data); 

} 
}); 
}); 
</script> 
+0

, он отправляет неопределенное значение через id в соответствии с mozilla firebug –

+0

благодаря тому, что он работал сейчас –

Смежные вопросы