Создание таблицы HTML с помощью POST

Я пытаюсь создать веб-страницу, которая принимает пользовательский ввод, отправляет его на страницу создания, а затем создает другую веб-страницу, отображающую данные в таблице html. Я использую file_put_contents для создания веб-страницы, и я получаю сообщение об ошибке всякий раз, когда пытаюсь включить цикл для вывода содержимого из 3 td. Вот что у меня есть до сих пор. Я упомяну, что публиковал ранее, однако я удалил это, поскольку этот пост был запутанным, в нем не было подробностей и примеров.

Это поле ввода для пользователя (deleteBox не публикуется) Пользователь вводит: ингредиент, количество и примечание (txt — пустая переменная).

<tr><td><input type='checkbox' name='deleteBox'></td><td>" + "<input type='text' name='ingredient[]' value='" + txt + "'/>" + "</td><td>" + "<input type='text' name='amount[]' value='" + txt + "'/>" + "</td> + <td>" + "<input type='text' name='note[]' value='" + txt + "'/>" + "</td></tr>

Я пробовал нижеприведенное как с циклом for в переменной, так и с прямым вводом его в $strOut. Я действительно не знаю, как вы должны это делать (явно нет, так как это не работает -> выдает неожиданную ошибку «для» в строке 42 [строка $ tbl]) и не могу найти обходной путь . Как мне сделать так, чтобы данные массива отображались в выводе для file_put_content, чтобы он не создавал ошибок?

$ingredient = $_POST['ingredient'];
$amount = $_POST['amount'];
$note = $_POST['note'];

$tbl = for ($i = 0; $i < count($ingredient); $i++) {
    echo '<tr>';
    echo '<td>' . $ingredient[$i] . '</td>';
    echo '<td>' . $amount[$i] . '</td>';
    echo '<td>' . $note[$i] . '</td>';
    echo '</tr>';
}

$strOut =   '<!DOCTYPE html>'
        .   '<table class = "recipe-ingredients">'
        .   '<tr>'
        .   '<th class = "table-th-large">Ingredient</th>'
        .   '<th class = "table-th-medium">Amount</th>'
        .   '<th class = "table-th-xl">Note</th>'
    // User input tr goes here
        .   $tbl
        .   '</table>';
    // Closing html tags after

file_put_contents("example.php", $strOut);

Любые предложения или обходные пути будут высоко оценены.

Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
3
0
306
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий
$tbl = '';
for ($i = 0; $i < count($ingredient); $i++) {
        $tbl.= '<tr>';
        $tbl.= '<td>' . $ingredient[$i] . '</td>';
        $tbl.= '<td>' . $amount[$i] . '</td>';
        $tbl.= '<td>' . $note[$i] . '</td>';
        $tbl.= '</tr>';
    }

Использовать это. Кстати, Вы забыли поставить закрывающий </tr> в строке заголовка.

Идеальный! Спасибо вам за помощь.

Nung221 10.12.2020 06:56

Другие вопросы по теме