Loading...
PHP/MySQL | вывод из бд
Как вывести данные из бд, чтобы скажем каждые 3 выведенные записи были с новой строки
ADBOKAT,
Если не ошибаюсь то
_

<?
$arData = array(); // массив с данными которые надо вывести

$column = 3; // количество колонок в таблице
$items = count($arData); // общее количество выводимых элементов
$i = 1; // счётчик итераций
if ($items <= $column) $arRange1 = array(1);
else $arRange1 = range(1, $items, $column);
if ($items <= $column) $arRange2 = array($column);
else $arRange2 = range($column, $items, $column);
?>

<table cellpadding="0" cellspacing="0">
<?foreach($arData as $item):?>
<?if(array_search($i, $arRange1) !== FALSE) echo "<tr>"?>
<td width="<?=round(100/$column)?>%"><?=$item?></td>
<?if(array_search($i, $arRange2) !== FALSE) echo "</tr>";$i++?>
<?endforeach?>
<?if($items%$column != 0) echo str_repeat('<td width="'.round(100/$column).'%">&nbsp;</td>', ($column-$items%$column))."</tr>"?>
</table>


Есче вариант мне кажется он несколько проще :)


<?
$arData = array(); // массив с данными которые надо вывести
$column = 3; // количество колонок в таблице
$i = 0; // счётчик итераций
?>

<table cellpadding="0" cellspacing="0">
<?foreach($arData as $item):?>
<?if($i == 0) echo "<tr>"?>
<td width="<?=round(100/$column)?>%"><?=$item?></td>
<?$i++?>
<?if($i == $column) {echo "</tr>"; $i=0;}?>
<?endforeach?>
<?if($i != 0) echo str_repeat('<td width="'.round(100/$column).'%">&nbsp;</td>', ($column-$i))."</tr>"?>
</table>
nefakt, Сделал вот так, тоже работает, но всё равно спасибо)
$i = 1;
foreach (){
$a = $i % 3;
if (($i == 1) || ($a == 0)) echo '<br>';
}
ADBOKAT, тоже оно.гы.самое
Онлайн: 5
Время:
Gen. 0.0821
(c) Bym.Guru 2010-2025