[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Вывести информацию в несколько таблиц с определёнк
Undertaker
Добрый день ув. форумчане, даже не уверен в ту ли ветку я пишу, но в общем задача у меня такая: Есть информация, которую php скрипт выводит в таблицу по принципу: дата->определённое количество записей по этой дате->пустая строка-> и пока не закончится...
В конце таблицы 2 строки для итого. В одной таблице 24 строки (что бы влезала на лист при печати), а строк из базы может выводиться много... В целом мне надо получить инфу из базы, по описанному выше циклу, а потом распределить эту инфу в несколько таблиц по 24 строки. Я вешал проверки, но код получается длинный и гов*ый, может вы что нибудь посоветуете как решить проблему?

_____________
Из отчета службы безопасности:
... по поводу взлома китайцами сервера Пентагона:
1) Каждый китаец попробовал один пароль.
2) Каждый второй пароль был - maodzedun.
3) На 657983241-й попытке сервер согласился что у него пароль - maodzedun
NitroGenerate
class htmlTable
{
const ROWS_LIMIT = 24;

private $head = array();
private $rows = array();
private $rows_buffer = array();

public function __construct(array $head = array())
{
if($head)
$this->head = $head;
}


public function addRow(array $row)
{
$this->rows[] = $row;
}

private function maybeDump()
{
if(count($this->rows_buffer) >= self::ROWS_LIMIT) {
$str = '<table>';

// отрисовываем шапку, если есть
if($this->head)
$str .= $this->generateRow($this->head);

// отрисовываем все строки таблицы
foreach($this->rows_buffer AS $row)
$str .= $this->generateRow($row);

$str .= '<table>';

echo $str;
$this->rows_buffer = array(); // очищаем буфер
return true;
}
return false;
}

public function render()
{
if($this->rows) {
foreach($this->rows AS $row) {
$this->rows_buffer[] = $row;
$this->maybeDump();
}
}
}


private function generateRow(array $row)
{
$str = '<tr>';
foreach($row AS $cols)
$str .= '<td>' . $cols . '</td>';
$str .= '<tr>';
return $str;
}
}




$htmlTable = new htmlTable();
for($i=0; $i<100; $i++)
$htmlTable->addRow(array('data' => $i, 'total_records'=> $i*$i))

$htmlTable->render();
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.