PHP, помощь с массивом

248
02 марта 2018, 18:35

Здравствуйте. У меня была проблема: выполнялось 20 запросов к api vk:

$select_info = "SELECT a_id, post_id, date, admin FROM vk_post ORDER BY post_id DESC";
 $result = mysqli_query($connection, $select_info);
while ($row = mysqli_fetch_array($result)) {
$get_adm_name = $VkApi->api("users.get", [
    "access_token" => ACCESS_TOKEN,
    "user_ids" => $row["admin"]
]);
$admin = $get_adm_name["response"][0]["first_name"] . " ". $get_adm_name["response"][0]["last_name"];
?>
<tr>
    <td><?=$row["a_id"]?></td>
    <td><?=$row["date"]?></td>
    <td><a href="<?="https://vk.com/wall-26363301_" . $row["post_id"];?>">This</a></td>
    <td><?=$admin?></td>
</tr>

Это не есть хорошо, и мне посоветовали сделать массив за пределами цикла и работать с ним:

$admin_id = [
1id => "1AdminName",
2id => "2AdminName",
3id => "3AdminName"

];

Но не пойму как. Подскажите, пожалуйста

Answer 1

Нужно вынести все ID за предел цикла и сделать 1 запрос к ВК

$result = mysqli_query($connection, $select_info);
$rows = array();
while ($row = mysqli_fetch_array($result)) {
    $rows[] = $row;
}
foreach ($rows as $row) $admins_id[] = $row["admin"];

$get_adm_names = $VkApi->api("users.get", [
"access_token" => ACCESS_TOKEN,
"user_ids" => implode(',', $admins_id)
]);
?>

Думаю идея ясна

READ ALSO
VK API Wall.get не выдаёт предложку (suggests)

VK API Wall.get не выдаёт предложку (suggests)

Здравствуйте, уважаемые знатоки! Вопрос такой: хочу получить через vkapi предложенные посты в моём тестовом пабликеЕсть токен паблика и токен...

222
Поместить массив в dropDown список GridView

Поместить массив в dropDown список GridView

Есть представление с вот таким GridView

189
Парсинг яндекс-такси

Парсинг яндекс-такси

Хотел попробовать спарсить цену на сайте

210
Преобразовать в массив json

Преобразовать в массив json

Помогите преобразовать строку в массив json такой запрос

207