单击按钮时增加/减少变量 - PHP Javascript AJAX

问题描述 投票:0回答:1

我有一个喜欢/不喜欢的按钮和相似字段的数量,它回应一个变量,获得如下喜欢的数量:

PHP,HTML:

<a onclick="javascript:likes(<?php echo $row['Question_ID'];?>);"><button type="submit"  class="btn btn-custom btn-sm liketoggle" name ="like"><span>likes: <?php echo $row['likes'];?></span>
<button type="submit"  class="btn btn-custom btn-sm liketoggle" name ="like"></button></a>

//Printing 'Like' if its been liked by user, and 'Unlike' if not liked by user
<? $qid = $row['Question_ID']; $query2 = "SELECT * FROM likes WHERE 
       user_id='$user_id' and qid = '$qid'";
      $results2 = mysqli_query($con,$query2);
      if(mysqli_num_rows($results2) == 0){ echo '<span>Like</span>';} 
      else{echo '<span>Unlike</span>';}?></button>

AJAX:

function likes(qid) {

    if (ajax.readyState == 4 || ajax.readyState == 0) {
        ajax.open("POST", 'likes.php?qid='+qid, true);

        ajax.onreadystatechange = queried(type);
        ajax.send();
    }
}

Javascript - 要切换像/不同:

$(".liketoggle").click(function () {
            $(this).find("span").text(function(i, v){
               return v === 'Like' ? 'Unlike' : 'Like'
               return v === 'Unlike' ? 'Like' : 'Unlike'
            })
        });

有什么方法我可以增加喜欢的数量($ row ['likes'])当用户点击时,同样的方式在不喜欢时减少?这怎么可能? AJAX正在数据库中完成工作,但我想改变前端的喜欢数量。

javascript php toggle auto-increment decrement
1个回答
0
投票

尝试在您的范围中指定ID:

<span id="likes">likes: <?php echo $row['likes'];?></span>

然后在你的ajax中使用$('#likes')将你的Ajax调用的响应放入该html标记.html(response):

Ajax示例:

function likes(qid) {

    $.ajax({
        data: {qid: qid},
        type: 'POST',
        url: 'likes.php',
        success: function (response) {
            // Insert response into html
            $('#likes').html(response);
    }

}
© www.soinside.com 2019 - 2024. All rights reserved.