[Ликбез]

Форма входа
Логин:
Пароль:

Меню сайта


Скрипты и коды для юкоз - Форум аццкого кодера » Как сделать так, чтобы... » Как вывести информацию в три столба с использованием PHP

Как вывести информацию в три столба с использованием PHP
[1] polyks [26.06.2012, 01:37]
Подскажите пожалуйста, как вывести информацию в три столба с использованием PHP?

<?php
$col = 1;
echo "<table>";
foreach($this->subcats as $key => $subcat) {
$subcat->link = JRoute::_('index.php?option=com_adsmanager&view=list&catid='.$subcat->id."&Itemid=".$this->Itemid);
if ($col==1) {
$col = 0;
echo "<tr><td>";
echo '<a href="'.$subcat->link.'">'.$subcat->name.'</a>';
echo "</td>";
} else {
$col = 1;
echo "<td>";
echo '<a href="'.$subcat->link.'">'.$subcat->name.'</a>';
echo "</td></tr>";
}
}
if ($col==0) {
echo "<td>-</td></tr>";
}
echo "</table>";
?>

Что поправить в этом коде? Сейчас у меня получается только 2 столбца.
[2] likbezz [26.06.2012, 13:09]
polyks,
Подскажите пожалуйста, как вывести информацию в три столба с использованием PHP?

Как обычно, циклом.
Типа:
Code
<?php
$col = 1;
$i=0; /* Устанавливаем счетчик ячеек */
echo '<table>';
foreach($this->subcats as $key => $subcat) {
$subcat->link = JRoute::_('index.php?option=com_adsmanager&view=list&catid='.$subcat->id."&Itemid=".$this->Itemid);
if($i%3==0){ /* Проверяем */
echo '<tr>';
}
echo '<td><a href="'.$subcat->link.'">'.$subcat->name.'</a></td>'; /* Рисуем ячейку */
if(++$i%3==0){ /* Добавляем единичку и проверяем */
echo '</tr>';
}
}
echo '</table>';
?>

Где:
$i%3 = цельночисленный остаток от деления на 3 - количество ячеек.

Вот по такому принципу.
[3] polyks [26.06.2012, 23:41]
Поняла, спасибо.
[4] likbezz [27.06.2012, 05:58]
polyks,
Поняла, спасибо.

Поняла-то - это хорошо) Вопрос в другом, у вас все работает?
Если переменная $i уже занята, то бишь есть и обозначена в шаблоне/коде, можете её заменить на любую свою, уникальную в пределах шаблона. Например $my_var_for_table или $tr_count - какую придумаете, такая и будет).
Примерно так отрисовывается любая таблица, тут главное понять принцип, а он не сложен)

Проще, конечно через цикл for - там уже есть счетчик проходов, но раз у вас уже есть foreach то необходим дополнительная переменная, считать количество пройденных циклов.
[5] polyks [12.07.2012, 12:20]
Да, уже все работает biggrin
[6] likbezz [12.07.2012, 12:50]
polyks,
Да, уже все работает

Очень хорошо, значит моя писанина не прошла даром)
Здорово)


Полная версия сайта