2016-08-19 253 views
0

我有一個while循環加載用戶的帖子,當點擊按鈕以獲取帖子ID時,將其發送到另一個將處理它的php頁面,更新數據庫喜歡號碼,但我不能得到良好的ID .. 我while循環:如何將PHP變量從循環傳遞給javascript變量

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循環,並且我希望每個帖子都可以在類似按鈕預先獲得id時使用ssed.Thanks尋求幫助!

回答

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> 
+0

感謝的人這正是我需要的! –

+0

而不是'.attr('data-id')',你也可以調用'.data('id')'。請參閱https://api.jquery.com/data/#data-html5 –