Как сделать так, чтобы цикл do-while работал так, чтобы его вообще не было? - PullRequest
0 голосов
/ 24 октября 2019

У меня есть эти коды. Я выбрал цикл do-while, чтобы я мог выполнять цикл, но почему-то он не работает.

Итак, в моей базе данных есть как минимум 5 строк из поля "SOALTXT", которые имеютid = S01, что означает, что он должен делать цикл 5 раз. Но почему-то это показывает только один ряд. Вот так:

не ожидаемый вывод:
not expected output

<?php
    include "koneksi.php";
    $query = mysqli_query($connection,"SELECT * FROM buatsoal_db ORDER BY ID DESC");
    $result = mysqli_fetch_array($query);
    $id = $result['ID'];
    ?>

<?php
    do{ ?>
        <form method= 'post'>
        <input name='next' type='submit' id='next' value='next'>
        </form>
            <?php if(isset($_POST['next'])){ 
    >           $row = mysqli_fetch_array ($query);
                echo $row['SOALTXT'];           
            ?>
            <br>
            <br>
            <?php           
            } 
            ?>

<?php   }
    while ($id =='S01');
?>

Для вывода я ожидаю 5 «следующей» кнопки и при ее нажатииПокажите каждый 'soaltxt'.

Ответы [ 2 ]

1 голос
/ 24 октября 2019

Переменная $ id не обновляется внутри цикла do while. Просто добавьте еще один

$id = $row['ID']

перед эхо в цикле.

Редактировать:

Я собирался опубликовать новый фрагмент, но ответ от @Omar Abbas готовлинии того, что я намеревался. Я бы получил форму за пределами цикла и добавил бы скрытый ввод для передачи индекса на следующую страницу, чтобы вы знали, сколько раз вы нажимали следующую, чтобы вы знали, сколько строк отображать.

В этой отрасли важно научиться задавать правильные вопросы. Важными его частями являются хорошая формулировка и как можно меньше предположений.

0 голосов
/ 24 октября 2019

Ответьте на свой вопрос, который вы используете mysqli_fetch_array() Найдите подробности о mysqli_fetch_array Теперь вам также необходимо проверить, какой индекс находится у вас id в $row, как $row[0] или какой-либо другой индексможет быть, и присвоить это значение переменной $ id, как $id = $row[0], а затем поместить это в возможное решение while($id = 'S01')

, только извлечь записи, которые имеют id = S01, использовать mysqli_fetch_assoc() и использовать покацикл, найти детали mysqli_fetch_assoc .

$query = mysqli_query($connection,"SELECT * FROM buatsoal_db WHERE ID=S01");
$result = mysqli_fetch_array($query);

while ($row=mysqli_fetch_assoc($result)){

    echo $row['ID'];
}
...