2013-04-07 3 views
-1

У меня возник вопрос о создании HTML-таблиц с использованием PHP. Мне нравится, как некоторые библиотеки обрабатывают SQL, создают, читают, обновляют и удаляют (CRUD), используя PHP-компоненты, которые могут делать CRUD, не требуя знания SQL, но с PHP API.Инструмент PHP для создания, заполнения и отображения таблиц html

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

Может ли кто-нибудь предложить хороший инструмент для создания таблиц HTML с PHP?

Заранее спасибо.

+0

Почему вы хотите создавать таблицы html с php? – epicdev

+1

Ну, можно предположить, что я могу подготовить атрибуты таблицы, стили и т. Д., А затем ввести в нее наборы результатов, и это заполнит таблицу. Другим является то, что я могу (возможно) реализовать в старых html и html5 автоматически. –

ответ

1

Есть действительно такие инструменты для разработки 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> 

Надеется, что это помогает :)

Стояны ,

Смежные вопросы