Выборка данных в MySQL, но показывает меньше данных - PullRequest
0 голосов
/ 05 июня 2018

Я пытаюсь получить массив из запроса mysqli, но показанный результат не завершен.Это всегда показывает минус 1 данные.Например, у меня есть данные в базе данных, 1a, 2b, 3c, 4d, 5e, 6f, 7g, 8h, 9i и 10j, когда я использую:

<?php
    $sql = mysqli_query($connection, "SELECT * FROM soal LIMIT 0,10");
    $data = mysqli_fetch_array($sql, MYSQLI_BOTH);
?>

<table>
    <tr>
       <th>#</th>
       <th>Text</th>
    </tr>

    <?php
        $i = 1;
        while($data = mysqli_fetch_array($sql,MYSQLI_BOTH)){
    ?>
        <tr>
            <td><?php echo $i; ?></td>
            <td><?php echo $data['soal']; ?></td>
        </tr>
    <?php
        $i++;
        }
    ?>

</table>

Результат показывает только 2b,3c, 4d, 5e, до 10j, но если я использую UNION, результат покажет 1a, 2b, 3c, 4d, 5e, до 9i:

$sql = mysqli_query($connection, "SELECT 'a' as id, 'b' as soal, 'c' as mapel_id, 'd' as kelas_id, 'e' as jawaban_a, 'f' as jawaban_b, 'g' as jawaban_c, 'h' as jawaban_d, 'i' as jawaban_benar UNION SELECT id, soal, mapel_id, kelas_id, jawaban_a, jawaban_b, jawaban_c, jawaban_d, jawaban_benar FROM soal LIMIT 0,10");

Что-то не так с моим кодом илимоя база данных выдала ошибку?

1 Ответ

0 голосов
/ 06 июня 2018

Вы звоните ниже строки кода дважды.

$data = mysqli_fetch_array($sql, MYSQLI_BOTH);

удалить первый вызов.Поскольку при вызове той же строки кода следующий раз начнется со следующей позиции в вызове db, а не с начальной позиции.

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...