Вывод в две колонки

DenVeroid

Новичок
Вывод в две колонки

Имеется код который выводит из масива данные в двух калонках,


PHP:
$array_link = array("link1","link2","link3",
"link4","link5","link6","link7","link8",);
$first_half = '';
$second_half = '';
$result_string = '';
echo"<table border=1>";
for ($i=0;$i<(sizeof($array_link)/2);$i++)
{
$first_half[$i] .= "<tr><td>".$array_link[$i]."</td>";
}
for ($i=(sizeof($array_link)/2);$i<sizeof($array_link);$i++)
{
$second_half[$i] .= "<td>".$array_link[$i]."</td></tr>";
}
for ($i=0;$i<sizeof($array_link);$i++)
{
$j = $i+(sizeof($array_link)/2);
$result_string .=$first_half[$i].$second_half[$j];
}
echo $result_string;
echo"</table>";

сама проблема в том, если в масиве имеется вместо 8 значений 7 тоесть заменить на
PHP:
$array_link = array("link1","link2","link3",
"link4","link5","link6","link7",);
то я так понимаю должна быть одна ячейка пустая <td></td>, а тут получается что значение 4 повторяется дважды при переходе с первой колонки на вторую, как исправить такой баг?

В форуме избраном нашол, один но там одна колонка выводиться ниже чем первая
 

Фанат

oncle terrible
Команда форума
В форуме избраном нашел, один но там одна колонка выводится ниже чем первая
Но кода, который там приведен, ты, конечно, не понял и решил делать сам, через анальное отверстие, "калонки"?

А головой подумать - это не для тебя, неграмотного?

Где там что у тебя выводится ниже?
Толком сказать можешь?
Скорее всего тебе померещилось
 

Yamamoto

Guest
PHP:
<?

$qqq = array(1,2,3,4,5,6,7,);

if (count($qqq) % 2) { $qqq[] = '&nbsp;'; }

echo '<table>';

for ($i = 0; $i < count($qqq); $i = $i + 2) {

    echo '<tr>';

    echo '<td>' . $qqq[$i] . '</td>';
    echo '<td>' . $qqq[$i + 1] . '</td>';

    echo '</tr>';

}

echo '</table>';

?>
 

KostyaCat

мы где-то рядом
Yamamoto, а так не проще ли ?

PHP:
<?

$qqq = array(1,2,3,4,5,6,7,);

if (count($qqq) % 2) { $qqq[] = '&nbsp;'; }

echo '<table>';

for ($i = 0; $i < count($qqq); $i++) {

    echo '<tr>';

    echo '<td>' . $qqq[$i] . '</td>';
    echo '<td>' . $qqq[++$i] . '</td>';

    echo '</tr>';

}

echo '</table>';

?>
 

Falc

Новичок
KostyaCat
Ты хочешь сказать, что у Yamamoto не верный синтаксис?
По мойму у него с синтаксисом проблем нет.
 

Yamamoto

Guest
я к тому, что учим синтаксис языка, да ? =)
человек скатал где-то страшный код
значит он не понимает что делает
надо самым простым способом показать как это можно сделать, чтобы он еще и разобрался как это работает

а флейм разводить из-за 10 байтов - это не по теме...
 

KostyaCat

мы где-то рядом
Falc, процитируй мои слова о неверном синтаксисе. Я чес слово не нашел.

Yamamoto, вот только не надо о простоте... код ни капли не усложнился, даже наоборот
 

Falc

Новичок
KostyaCat
А кому ты тогда предлагал учить синтаксис языка?

>>я к тому, что учим синтаксис языка, да ? =)
 

Фанат

oncle terrible
Команда форума
Yamamoto, твой код не подходит для реальных задач.
в частности, при печати из потока.
Да, для текст-онли это единственный вариант.
Но мы-то выводим в хтмл.
И нарисовать таблицу в две колонки не составляет труда

Так что, я думаю, что не стоит разводить флейм на пустом месте, а оставить на этом форуме ОТЛИЧНЫЕ примеры из "избранного" и не маяться фигней, а занятьмя чем-нибудь полезным.
 

Фанат

oncle terrible
Команда форума
о том, что ты должен уже давно уместись проверять код, который тут наваял.
Если ума не хватает мозгом сообразить.
А ты все стоишь и строишь из себя тормоза.
 

KostyaCat

мы где-то рядом
Фанат, в том, что код рабочий я даже не сомневаюсь. Проблема в том, что делает не то, о чем просил DenVeroid =)

P.S. да, и авторство приписывать мне не надо =)
 

Фанат

oncle terrible
Команда форума
Костя, вот мне даже интересно.
Я вижу ошибку невооруженным глазом.
переменная в цикле инкрементится два раза.
Но дело даже не в этом.
Я понять не могу. Этой самоуверенности.
Неужели у тебя даже тени сомнения не возникает, когда тебе так уверенно говорят о наличии ошибки?
Мне просто интересно. Ну ни капли сомнения?
 

Falc

Новичок
Фанат
>>переменная в цикле инкрементится два раза.

Это не ошибка, это фича у него такая.
 
Сверху