如何将 php 变量从循环传递给 javascript 变量

How to pass php variable from a loop to a javascript variable

我有一个 while 循环,它加载用户的 posts,当点击赞按钮以获取 post id 时,将它发送到另一个 php 页面,它将处理它并在数据库中更新喜欢的号码,但我无法获得好的 ID.. 我的 while 循环:

while($posts = mysqli_fetch_array($query)){

    <div <?php echo "id=".$posts['id'] ?>
    <div class="post">
    .
    .
    </div>
    </div> }

和 Ajax 请求:

    var id = "<?php echo $posts['id'] ?>";
    $.ajax({
   type: 'POST',
   url: 'likes.php',
   data: {id:id},
   success: function(msg){ 
    alert('Success!');
   }
 });

但它只输出 while 循环的最后一个值,我希望每个 post 在点赞按钮为 pressed.Thanks 时获取 ID 以求帮助!

你所做的永远不会奏效。由于您有多个 ID,因此您必须从被点击的 <div> 中检索 ID,并将其传递给您的 ajax 调用,例如

<div data-id="42" class="clickme">

<script>

$('div.clickme').click(function (e) {
   id = $(this).attr('data-id');
   $.ajax( .... use "id" here ... );
}

或者,即使是这样的事情也会有所帮助:

<? while(... fetch from db ... ){ ?>

<div onclick="doAjax(<?php echo json_encode($row['id']); ?>)">

<script>
function doAjax(id) {
   $.ajax(... use "id" here ...);
}
</script>