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

时间:2016-08-19 17:42:05

标签: javascript php jquery ajax

我有一个while循环加载用户的帖子,当点击like按钮获取post id时,将其发送到另一个php页面,该页面将处理它并在数据库中更新喜欢的号码,但我可以&#39 ;得到好的身份.. 我的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循环的最后一个值,我希望每个帖子在按下like按钮时获取id。谢谢你的帮助!

1 个答案:

答案 0 :(得分:0)

你所做的事永远不会奏效。由于您有多个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>