Нашел код который позволяет настроить вывод списка в 3 колонки, а мне надо 5, всю голову уже сломал, пытался методом логического продолжения но по всей видимости Выражение elseif больше 2-ух раз в данной конструкции не работает как True и False помогите кто может! ну или кто чем может! Код (Text): $totalrows = count($rows); // Counts No. of Rows $third = round($totalrows / 3); // Split rows into 3 for three column $onethird = $third; $twothird = $third * 2; $rownumber = 0; // Sets first row number foreach ($rows as $row) { if ($rownumber == "0") { print('<div class="timeline-summary"><ul class="first-column">'); } elseif ($rownumber == "$onethird") { print('</ul></div><div class="timeline-summary"><ul class="second-column">'); } elseif ($rownumber == "$twothird") { print('</ul></div><div class="timeline-summary"><ul class="third-column">'); } print('<li><a href="'.$row->url.'">'.$row->link.'</a> ('.$row->count.')'); $rownumber++; } print('</ul></div>'); ?> p.s К сожалению в PHP я не силен.
Re: Помогите достроить вывод списка в 5 колонок! HTML - Верстка мне известна, и мне не понятно к чему Ваша ссылка,мне нужна помощь в правилах PHP. Чувствую что для знающего человека, это ерунда, если кому нетрудно помогите плиз! (очень надо). p.s. Все таки где еще попросить помочь с PHP, как не на PHP.ru
Re: Помогите достроить вывод списка в 5 колонок! Вы напишите более подробно что вам требуется? А то так не совсем ясно. И ещё что именно вы пробовали? Я так понимаю так пробовали? Код (Text): $four = $third * 3; $five = $third * 4; /// А в цикле elseif ($rownumber == $four ) { print('</ul></div><div class="timeline-summary"><ul class="four-column">'); } elseif ($rownumber == $five) { print('</ul></div><div class="timeline-summary"><ul class="five-column">'); } Ещё сколько у вас здесь значений? $totalrows
Re: Помогите достроить вывод списка в 5 колонок! Мне нужно что бы выводилось не 3 колонки как в коде указанном в начале темы , а 5 колонок, пробовал вот так: (по логике) Код (Text): $totalrows = count($rows); // Графы, Число рядов $fifth = round($totalrows / 5); // 5 колонок $onefifth = $fifth; $twofifth = $fifth; $threefifth = $fifth; $fourthfifth = $fifth * 4; $rownumber = 0; // Устанавливает первый номер строки foreach ($rows as $row) { if ($rownumber == "0") { print('<div class="timeline-summary"><ul class="first-column">'); // 1 колонока } elseif ($rownumber == "$onefifth") { print('</ul></div><div class="timeline-summary"><ul class="second-column">'); //2 колонока } elseif ($rownumber == "$twofifth") { print('</ul></div><div class="timeline-summary"><ul class="three-column">'); //3 колонока } elseif ($rownumber == "$threefifth") { print('</ul></div><div class="timeline-summary"><ul class="fourth-column">'); //4 колонока } elseif ($rownumber == "$fourthfifth") { print('</ul></div><div class="timeline-summary"><ul class="fifth-column">'); //5 колонока } print('<li><a href="'.$row->url.'">'.$row->link.'</a> ('.$row->count.')'); $rownumber++; } print('</ul></div>'); ?> Но, так не работает,при такой конструкции 3 и 4 колонка не отображаются в HTML коде (их как будто нет)
Вообще какой-то кривоватый вы способ нашли делить на колонки... Код (PHP): $column_classes = array ("first-column", "second-column", "third-column", "fourth-column", "fifth-column"); $row_number = 0; foreach ($rows as $row) { if ($row_number == 0) { echo '<div class="timeline-summary"><ul class="first-column">'; } elseif ($row_number % 5 == 0){ $row_class = $column_classes[(int)floor($row_number / 5)]; echo "</ul></div><div class=\"timeline-summary\"><ul class=\"$row_class\">"; } print('<li>[url="'.$row->url.'"]link.'[/url] ('.$row->count.')'); $row_number++; } print('</ul></div>'); Ну примерно так. Причём этот код рассчитан на то, что в $rows больше 5 элементов
Re: Помогите достроить вывод списка в 5 колонок! - в смысле?, если вы имеете ввиду вообще, то 6 колонок уместится, просто этот шаблон будет использоваться для нескольких страниц и если честно я не знаю, как он себя поведет если колонки не будут умещаться в заданную ширину (просто некоторые слова "значения"они длинные..) Добавлено спустя 5 минут 12 секунд: - что то не работает, отображает все только в "first-column" - первой колонки (она и единственная передается в HTML. Рад бы другому но не умею.
Re: Помогите достроить вывод списка в 5 колонок! А, понял зачем так сложно сделано... Ну фиг с ним, лень свой код додумывать Код (Text): $totalrows = count($rows); // Графы, Число рядов $fifth = round($totalrows / 5); // 5 колонок $onefifth = $fifth; $twofifth = $fifth *2; $threefifth = $fifth *3; $fourthfifth = $fifth * 4;
Re: Помогите достроить вывод списка в 5 колонок! "mkramer" - Спасибо Вам огромное!!!!!!!!!!!!!!!!!!!! Все работает!!!!!!!!!!!!!!!
Re: Помогите достроить вывод списка в 5 колонок! Ну начни тогда с простого, сделайте таблицу, после нужно разобраться со стилями И когда что то не работает нужно писать что именно, мы же не телепаты, ну ошибку хотя бы напишите. Код (Text): $i = 0; echo '<table>'; foreach ($rows as $row) { if($i==0) echo '<tr>'; echo '<td><a href="'.$row->url.'">'.$row->link.'</a> ('.$row->count.')</td>'; $i++; if($i==5) { echo '</tr>'; $i =0; } } echo '</table>'';
Re: Помогите достроить вывод списка в 5 колонок! "vayas"- Спасибо, Все работает, учту Ваши замечания.
Re: Помогите достроить вывод списка в 5 колонок! vayas, у человека другая задача просто. Поэтому и мой первый код его не устроил. И ваш код и мой код делит $rows по 5 элементов, у вас в строке, у меня в столбце. А ТС нужно, чтоб сколько бы не было в $rows записей, они бы делились примерно поровну на пять колонок