Заполнение таблицы html в цикле

Как создать таблицу HTML в цикле foreach

Мне нужно создать таблицу HTML, состоящую из трех столбцов: адрес электронной почты, имя, фамилия в моем цикле.

Кто-нибудь может дать подсказку, как я могу начать создавать?

$i=0; foreach($result as $r) < echo "
"; print_r( $i ." ". $r['aluno_email'] ."". " | ". $r['aluno_nome'] . " " . $r['aluno_sobrenome'] . " | ". strtolower(trim(($r['aluno_nome'])))."_".strtolower(trim($r['aluno_sobrenome']))); echo "
"; $i++; > 

5 ответов

Создайте таблицу и заголовок таблицы вне цикла.

Заполните тело таблицы в цикле и закройте цикл.

  "; echo ""; echo ""; $i++; > ?>
Email Name Last Name
" . $r['aluno_sobrenome'] . "" . strtolower(trim(($r['aluno_nome']))) . "" . strtolower(trim($r['aluno_sobrenome'])) . "

Перебирая результаты, каждый результат выводит одну строку

echo ''; foreach ($results as $r) < echo sprintf('', $r['email'], $r['name'], $r['last_name']); > echo '
%s%s%s
';
'; foreach ($result as $r) < echo "  "; $i++; > echo ''; 

Я обычно начинаю с проверки результатов, затем строю таблицу:

if ($result->num_rows > 0) < echo ""; I run my loop and output as long as I have results: // output data of each row while($row = $result->fetch_assoc()) < echo ""; > echo "
Email Name LastName
" . $row["Email"]. " " . $row["Name"]. " " . $row["LastName"]. "
";
 echo " "; foreach($result as $val)< echo ""; > echo "
EmailNameLastName
".$val['email']."".$val['name']."".$val['lastName'].""
";

Источник

Пример использования циклов: отрисовка HTML таблицы на PHP

Заметка: активирована адаптивная версия сайта, которая автоматически подстраивается под небольшой размер Вашего браузера и скрывает некоторые детали сайта для удобства чтения. Приятного просмотра!

Здравствуйте уважаемые читатели блога Site on! В прошлой статье мы рассмотрели всё о циклах в PHP, но для закрепления полученных теоритических материалов, предлагаю выполнить практическую задачу, которая довольно часто встречается в повседневной жизни разработчика сайтов.

В наших с вами любимых CMS для отрисовки любой HTML таблицы используются циклы, по-другому никак. Например, у товара (смартфона) есть характеристики: ширина, высота, глубина, цвет, размер дисплея, объём памяти и тд. Все эти свойства обычно отрисовываются в виде HTML таблицы, это очень удобно и хорошо, ровно выглядит.

Чтобы понять, как это делается, сегодня мы решим такую простую задачу, как создание таблицы умножения:

таблица умножения

Приступим

Для начала нужно придумать и понять алгоритм, которому мы будем следовать. Из чего состоит HTML таблица? Давайте я нарисую:

алгоритм

Как видим из рисунка, тег table встречается всего 1 раз, поэтому он явно должен быть вне цикла. Повторяется у нас только строка (tr) и внутри неё ячейки, они же столбцы (td). Всё, больше у нас ничего не повторяется.

Теперь нужно решить, какой цикл лучше использовать для данной задачи. Это классический вариант и лучшим решением будет цикл for, хотя можно использовать и while, если вы к нему привыкли больше. Но нам понадобится не один цикл, а два: первый будет рисовать и считать строки (tr), а второй столбцы (td).

// количество строк, tr $cols = 20; // количество столбцов, td echo ''; for ($tr=1; $tr// в этом цикле счётчик $tr // следит за количеством строк и всегда равен текущему номеру строки. // То есть в начале $tr=1, так как в начале у нас 1 строка, затем // каждый раз прибавляем единицу, пока не дойдём до заданного количества // $rows. echo ''; for ($td=1; $td// в этом цикле счётчик $td аналогичен // счётчику $tr. echo ''; > echo ''; > echo '
'. $tr*$td .'
'; ?>

результат

В первом цикле мы отрисовываем tr, внутри него td. Этот код можно было бы назвать идеальным шаблоном отрисовки любой таблицы, но я знаю, как сделать ещё лучше. Незачем каждый раз напрягать PHP и делать вывод на экран (echo) после каждой итерации, гораздо лучше поместить всё в одно место (переменную) и сделать echo в самом конце, один единственный раз:

// количество строк, tr $cols = 20; // количество столбцов, td $table = ''; for ($tr=1; $tr'; for ($td=1; $td'. $tr*$td .''; > $table .= ''; > $table .= '
'; echo $table; // сделали эхо всего 1 раз ?>

Для этого мы использовали оператор .= присвоение через конкатенацию. Результат будет точно таким же. Но это ещё не всё. Нам нужно привести нашу таблицу к виду, как на самом первом рисунке в этой статье. То есть сделать первую строку и столбец полужирным и поставить зелёный фон. Такого результата можно добиться двумя способами:

  • С помощью CSS3 (правильный способ);
  • С помощью PHP (неправильный способ, но возьмём его, так как в этом разделе учим PHP);

Итак, делаем с помощью PHP:

// количество строк, tr $cols = 20; // количество столбцов, td $table = ''; for ($tr=1; $tr'; for ($td=1; $td'. $tr*$td .''; // вычислили первую строку или столбец >else< $table .= ''; // все ячейки, кроме ячеек из первого столбца и первой строки > > $table .= ''; > $table .= '
'. $tr*$td .'
'; echo $table; // сделали эхо всего 1 раз ?>

Красота 🙂 Можете выводить таблицу хоть 100 на 100. Балуйтесь, как хотите, это полезно для опыта. Спасибо за внимание, и приятных вам выходных!

Источник

Как вывести данные в виде таблицы - верстка товарной сетки

Статья состоит из теоретической и практической частей.
В первой части вспомним, как таблицы создаются в HTMl, как работает вывод коллекций с помощью цикла и как разбить коллекцию на строки, чтобы вывести ее в виде таблицы.
Во второй части — примеры. Можете перейти сразу к ней и скопировать верстку подходящей таблицы.

Теоретическая часть

Как это работает в HTML

Например, следующая верстка:

Снимок экрана 2022-06-09 в 17.25.22.png

Создает таблицу вида:

Для удобства восприятия ячейки здесь и в остальных примерах отделили друг от друга границей.

Как вывести коллекцию

Принцип работы с коллекциями заключается в том, что мы не записываем код отдельно для каждого его элемента (как в примере выше). Вместо этого мы используем цикл for. Внутри него записываем код, который применяется столько раз, сколько элементов в коллекции.

Например, для вывода названий всех продуктов из коллекции Products.GetBySegment("Novinki").Take(6) напишем:

Данные при этом выводятся в одну строку.
Добавление переноса строки (
) после названия выведет все продукты друг под другом.

Решение — найти способ проходиться циклом по строкам таблицы.

Как разбить коллекцию на строки и ячейки

Используем функцию TableRows .

Она группирует параметр-коллекцию в строки по N элементов. После этого можно вывести строки и колонки таблицы при помощи циклов.

Оцените статью