Я пытаюсь получить значения из типа ввода, скрытого с помощью цикла PHP while для извлечения данных на странице результатов. Все работает нормально, кроме значений в поле ввода.

Вот мой код

        <?php 
        $sql = "SELECT id,title FROM data ORDER BY id DESC LIMIT 10";
        $result = mysqli_query($conn, $sql);
        while ($row = mysqli_fetch_array($result)) {
        $tid = $row['id'];
        $title = $row['title'];
        ?>  
        <li>
            <div class="opt-text-w3layouts">
            <form action="/results.php" method="POST">
                <span style="padding:0 5px 10px 0px; word-wrap: break-word;"> 
                    <input type="hidden" name="id" value="<?php $tid;?>">
                    <button type="submit"><?php echo $title; ?></button>
                </span>
            </form>
            </div>          
        </li>
        <?php } ?>

Теперь проблема в том, что когда я нажимаю кнопку отправки, я попадаю на страницу со следующей ошибкой

Warning: mysqli_fetch_array() expects parameter 1 to be mysqli_result

Когда я проверяю элемент в Firefox, он показывает пустое значение

enter image description here

Но когда я вручную назначаю несколько случайных номеров идентификаторов, например: 1,2,3, в поле значения, тогда все работает нормально на странице результатов, поэтому проблема только в том, что значения не отображаются из цикла PHP while.

Что мне не хватает?

1
Ken 25 Ноя 2018 в 15:35

1 ответ

Лучший ответ

Вам просто не хватает echo:

<?php echo $tid;?>
2
Don't Panic 25 Ноя 2018 в 12:37