[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Генерация таблиц для списков
FatCat
Простенькая функция, лень было гуглить, написал для себя. Сохраню здесь для себя, может и кому-то еще пригодится.

Иногда нужно выстроить представление списка таблицей с сохранением сортировки.
Функция принимает 3 парамтра:
1. Массив элементов списка, которые будут выстроены в ячейках таблицы.
2. Количество столбцов таблицы. Количество строк будет рассчитано функцией.
3. Направление сортировки. По умолчанию разложит по строкам. Если задать параметр отличный от нуля, разложит по столбцам.

	function build_table($inp=array(), $colz, $dir=0){
$itemz=array();
foreach($inp as $v)$itemz[] = $v;
$tdz = ceil(count($inp)/$colz)*$colz;
$rowz = $tdz/$colz;
if($dir)
{
$itemz_tmp = array();
for($i=0;$i<$tdz;$i++)
$itemz_tmp[($i%$rowz)][floor($i/$rowz)] = isset($itemz[$i]) ? $itemz[$i] : '&nbsp;';
$itemz = array();
foreach($itemz_tmp as $v)
$itemz = array_merge($itemz,$v);
}
$html = PHP_EOL.'<tr>'.PHP_EOL;
for($i=1;$i<=$tdz;$i++)
{
$r = ($i%$colz or $i==($rowz*$colz)) ? '' : '</tr>'.PHP_EOL.'<tr>'.PHP_EOL;
$td = isset($itemz[($i-1)]) ? $itemz[($i-1)] : '&nbsp;';
$html .= '<td>'.$td.'</td>'.PHP_EOL.$r;
}
$html .= '</tr>'.PHP_EOL;

return $html;
}


_____________
Бесплатному сыру в дырки не заглядывают...
Быстрый ответ:

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