让我解释一下我的问题。
我有一个数据库,里面有几个项目。我做了一个while循环来显示一个隐藏的输入,其中每个项目的id作为一个值。我想获取每个项目的每个 id 以在 AJAX 请求中使用它们来检查其他数据库表中的内容。
这是我的while循环:
$reqfollow = db_query('SELECT following_id FROM following WHERE follower_id = ?', array($_SESSION['mc']['id']));
while($follow = $reqfollow->fetch())
{
$reqitems = db_query('SELECT * FROM items WHERE user_id = ? ORDER BY date DESC', array($follow['following_id']));
while($items = $reqitems->fetch())
{
?>
<input type="hidden" class="id" value="<?php echo $items['id']; ?>"> //this is where i have the id of each item
<?php } ?>
我有一些 jQuery 来获取这些 id:
function checkingfetchresult(userid){
$.post("ajax/checkingfetchresult.php", { userid: userid }, //first of all, I check how many item have been displayed, here it is eaqual to 3
function(check){
console.log(check); //So 3 here
for (var i = 0; i<check; i++){
var id = $(".id").val(); //I try to get the id of each but I only get the first one
console.log(id); //Only the first one
}
});
}
但正如我的代码中所说,我只得到第一项的 id。也许我应该尝试用一个数组来做,但是如果我这样做了,我怎么能在数组的时候只得到一个 id 来做我的另一个 AJAX 请求:
function checkinglikebutton(id){
$.post("ajax/checkinglikebutton.php", { id: id },
function(check){
if (check == 1){
//show the Like button
$("#dislike").hide();
}
else if (check == 0){
//show the Dislike button
$("#like").hide();
}
else{
alert('An error has occured');
}
});
}
我真的需要帮助,因为我有点迷失了。
以下是我如何使用数组来做到这一点:
function checkingfetchresult(userid){
$.post("ajax/checkingfetchresult.php", { userid: userid },
function(check){
console.log(check);
var id = [];
$(".id").each(function(){
id.push($(this).val());
});
console.log(id);
});
}
但我有 3 倍相同的数组:/