#php #forms #html-table
#php #формы #html-таблица
Вопрос:
Я создал форму с 3 строками, в каждой строке по 5 столбцов, и каждый столбец содержит 3 поля ввода, как показано на скриншоте ниже.
Я хотел бы отправить эту форму и создать таблицу. Структура таблицы будет определяться данными формы.
Например:
- Если я отправлю форму, как показано ниже:
Это создаст таблицу, подобную этой:
(две строки, в первой строке два столбца, а во второй строке один столбец)
Я полагаю, мне нужно написать огромное количество if then else
кода для этой ситуации, у кого-нибудь есть идея по написанию этой логики? Предпочитаю писать ее простой / крошечной.
Приглашаем обсудить это.
Ответ №1:
Это всего лишь алгоритм, но реализация его в php должна быть достаточно простой
- Просмотрите весь post, чтобы увидеть, сколько строк было возвращено, и в какой строке содержится максимальное количество столбцов.
- Создайте таблицу
- В первой строке добавьте требуемое количество ячеек таким образом, чтобы
colspan
для каждой ячейки былоmaxCols / thisRowCols
- сделайте это для всех строк
Единственное предостережение, которое я вижу в этой логике, заключается в том, что результат maxCols / thisRowCols
не является целым числом, но вам придется либо смириться с этим, либо придумать обходной путь: P
Редактировать
Если вы повторяете с php,
if(thisRowCols != maxCols) {
echo("<td colspan="", maxCols / thisRowCols, "">amp;nbsp;</td>");
} else {
echo("<td>amp;nbsp;</td>");
}
Если у вас есть <td>...
в html-коде,
<td <?php if(thisRowCols != maxCols) { echo("colspan="", maxCols / thisRowCols, """);} ?> >amp;nbsp;</td>
Комментарии:
1. Спасибо за предложение, но как я могу поместить colspan в
<td>
ячейку, отличную от другой строки?2. Отредактировал мой ответ, посмотрите, отвечает ли он вашему запросу