1

我有一个包含很多(100-800)ID 的数组。我想查询我的数据库,从我的数组中查找 id,并使用数据库中的任何匹配项,然后将匹配结果保存在一个新数组中。

我的数组:

//print_r($_POST["fb_friend_uid"])
Array
(
    [0] => Array
        (
            [id] => 263901486
        )

    [1] => Array
        (
            [id] => 502533736
        )
)

--1。然后我尝试查看数组中的任何值是否与数据库中的记录匹配——这是正确的方法吗?

$ids = join(',',$_POST["fb_friend_uid"]);

SELECT *
FROM vote WHERE
vote_fb_uid IN ($ids)
AND DATE(FROM_UNIXTIME(vote_time)) = DATE(NOW())";

--2。然后我努力将匹配的记录保存在一个新的数组中——这就是我尝试过的:

while($row=mysqli_fetch_assoc($result)){
    $savedResultsInNewArray=[$row['vote_fb_uid']];
}

我希望以以下格式返回新数组:echojson_encode($savedResultsInNewArray);

我有点不确定以上是正确的方法吗?

4

1 回答 1

0

第一部分是从数组中获取您的 ID。您可以使用循环执行此操作:

<?php

foreach ($_POST["fb_friend_uid"] as $uid) {
    $uids[] = $uid['id'];
}

$ids = join(',', $uids);

/*
 * Query is correct
 *
 * SELECT *
 * FROM vote WHERE
 * vote_fb_uid IN ($ids)
 * AND DATE(FROM_UNIXTIME(vote_time)) = DATE(NOW())";
*/

// For the returning part.

while($row=mysqli_fetch_assoc($result)){
    $savedResultsInNewArray[] = $row['vote_fb_uid'];
}
于 2013-05-26T21:28:11.457 回答