Есть действительно такие инструменты для разработки HTML-форм с использованием PHP.
Мой первый выбор в качестве разработчика PHP - это PEAR HTML_Table
. Как сказано в документации: «[PEAR] HTML_Table делает дизайн таблиц HTML легким, гибким, многоразовым и эффективным».
Использование этого компонента легко, включая класс таблицы (из файла), создание экземпляра нового экземпляра, добавление тела и начало добавления строк в таблицу с использованием вызовов PHP.
Ниже приведен пример таблицы, в которой указаны имя пользователя, адрес электронной почты и возраст.
В этом примере предполагается, что у вас уже установлено PEAR
(Install PEAR), а также HTML_Table PEAR.
Первое, что нужно сделать, это включать в PEAR HTML_Table
<?php require_once 'path/to/pear/HTML/Table.php'; ?>
Вам также может потребоваться включить HTML_Common
& PEAR
классов, а так хорошее предложение, чтобы иметь путь PEAR в вашем PHP include_path
.
Чтобы справиться с этим и в целом с загрузкой класса PEAR, ознакомьтесь со стандартом PSR-0, который представляет собой соглашения об именах классов и файлов PEAR. Это может быть полезно при работе с автозагрузчиками.
Имея класс (ы) доступны, мы можем создать таблицу, как это:
// Instantiating the table. The first argument is the HTML Attributes of the table element
$table = new HTML_Table(array('class' => 'my-table'), null, true);
Обратите внимание, что все параметры являются необязательными. Давайте сначала добавить заголовок к таблице:
// Preparing the header array this will go in <table><thead><tr>[HERE..]</tr></thead></table>
$headerRow = array('Name', 'Email', 'Age');
$header = $table->getHeader();
$header->setAttributes(array('class' => 'header-row')); // sets HTML Attributes of the <thead /> element
$header->addRow($headerRow, null ,'th');
До сих пор HTML этой таблицы выглядит следующим образом:
<table class="my-table">
<thead class="header-row">
<tr>
<th>Name</th>
<th>Email</th>
<th>Age</th>
</tr>
</thead>
</table>
Позволяет добавить тело и некоторые строки:
// This is array of arrays that will represent the content added to the table as table rows (probably retrieved from DB)
$resultSet = array(
array(
'name' => 'John Doe',
'email' => '[email protected]',
'age' => 33,
),
array(
'name' => 'Jane Doe',
'email' => '[email protected]',
'age' => 30,
),
);
// $bodyId is the body identifier used when appending rows to this particular body
$bodyId = $table->addBody(array('class' => 'main-body'));
foreach ($resultSet as $entry) {
$indexResult = array_values($entry); // <-- the array passed to the addRow must be indexed
$table->addRow($indexResult, array (/* attributes */), 'td', true, $bodyId);
// note how we specify the body ID to which we append rows -----------^
// This is useful when working with multiple table bodies (<tbody />).
}
концепция множественных меток <tbody />
в таблице также может быть использована с помощью метода addBody()
класса таблицы, который возвращает идентификатор тела используется в качестве ссылки при добавлении строк позже (см. выше).
Имея, что отображение таблицы так же легко, как:
<?php
echo $table->toHtml();
// or simply
echo $table;
?>
Содержание HTML этого примера теперь выглядит следующим образом:
<table class="my-table">
<thead class="header-row">
<tr>
<th>Name</th>
<th>Email</th>
<th>Age</th>
</tr>
</thead>
<tbody class="main-body">
<tr>
<td>John Doe</td>
<td>[email protected]</td>
<td>33</td>
</tr>
<tr>
<td>Jane Doe</td>
<td>[email protected]</td>
<td>30</td>
</tr>
</tbody>
</table>
Надеется, что это помогает :)
Стояны ,
Почему вы хотите создавать таблицы html с php? – epicdev
Ну, можно предположить, что я могу подготовить атрибуты таблицы, стили и т. Д., А затем ввести в нее наборы результатов, и это заполнит таблицу. Другим является то, что я могу (возможно) реализовать в старых html и html5 автоматически. –