@korshunov2110
Программист

Как взять несколько значений из БД?

Хочу сделать топ игроков !
Получаю данные вот так :
require_once 'connection.php';
    $link = mysqli_connect($host, $user, $password, $database)
    or die("Ошибка " . mysqli_error($link));
    $sql = "select money from bot WHERE id_vk = $id order by money desc limit 10 ";
    $result = $link->query($sql);
    if ($result->num_rows > 0) {
        while($row = $result->fetch_assoc()) {
            $m = $row["money"];
        }
    }
    mysqli_close($link);

Но мне нужно получить 10 строк , а я получаю самую первую
Как из этого массива взять остальные?
  • Вопрос задан
  • 179 просмотров
Решения вопроса 1
@tempick
В коде всё правильно. В цикле "while" перебираются все элементы результата запроса. Но каждый раз переменная $m перезаписывается, и в итоге в ней будет только последняя стока из таблицы. Чтобы взять все строки пропишите примерно так:
$arr = [];
...
while($row = $result->fetch_assoc()) {
    $arr[] = $row["money"];
}


В итоге получаете массив из 10 значений
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
1210mk2
@1210mk2
$am = [];
if ($result->num_rows > 0) {
        while($row = $result->fetch_assoc()) {
            $am[] = $row["money"];
        }
    }
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы