Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Вывести записи по колнкам, где колонки должны быть сами по себе?
 
 автор: Terri   (17.07.2007 в 17:14)   письмо автору
 
 

Давно мучает вопрос, сколько пытался его решить, но так всё без успешно, всё както криво получается сделать, и всё больше убеждаюсь что этот вопрос не реально решить.

Вопрос заключается в том чтобы вывести записи из массива(не важно от куда они, в моём случии из БД)

нужно вывести в две или несколько столбцов, допустим таким образом в две колонке

<div id="c1">
1 запись
2 запись
3 запись
...
</div>

<div id="c2">
1 запись
2 запись
3 запись
...
</div>

пример взял от сюда
http://cssing.org.ua/examples/2equalcols/

токо я в своем примере подставил свой текст где: 1 запись,2 запись,3 запись,... это записи из БД или элементы массива.

Как при помощи PHP сделать также?

Ведь если выводить их то так не получится а получится вроде такого

<div id="c1">1 запись</div>
<div id="c2">2 запись</div>
<div id="c3">3 запись</div>

тоесть для каждой записи подставятся теги <div id="c1"> и парный ему </div>
а этого не должно произойти, иначе у нас получится столько же столбцов сколько и самих записей.

Как я понял есть только один способ, ибо другого не существует, сколько я не пытался придумать что-то но всё было небезуспешно.
Выход какой, при цикле формируем массив, сколько колонок столько же и массивов должно получится, далее мы полученное кол-во массивов выводим по колонкам

<div id="c1">1 массив</div>
<div id="c2">2 массив</div>

Получается как и хотели, в каждой колонке выводятся записи, и если у некоторой записи текст будет больше допустим в первой колонке, то записи во второй колонке не должны сдвинутся вниз и не создавать пробела во второй колонке из-за записи в первой колонке.


Если кратко описать суть вопроса, то нужно чтобы каждая колонка зависела сама по себе, и не создавала сдвиги у других колонок.

Дивы не обязательная разметка, можно использовать и теги типа <table><tr><td> </td></tr></table>
просто мне дивы больше нравятся.

Может кто-то решал подобный вопрос, хотелось бы узнать кто как делал.

   
 
 автор: вит   (17.07.2007 в 18:00)   письмо автору
 
   для: Terri   (17.07.2007 в 17:14)
 

Если я правильно понял то тебе просто надо сформировать двумерный массив,где индексами внешнего массива будут колонки, а индексами внутреннего записи в них и потом сделать его обход при помощи вложенных циклов

   
 
 автор: Terri   (17.07.2007 в 23:13)   письмо автору
 
   для: вит   (17.07.2007 в 18:00)
 

ну что-то типа этого, но всёравно как мне кажется неправильно всё это, во первых нужно для каждой колонке использовать цикл, тоесть сколько колонок столько же и циклов будет, во вторых, придётся составлять шаблон для вывода записи, тоесть если это новости то нужно оформить столько же сколько колонок тоесть заголовок,краткая новость,ссылка на полную новость, и всё это нужно повторить несколько раз что не удобно.

Тоесть как я понял сделать это не возможно, только немного с извратом

   
 
 автор: Terri   (18.07.2007 в 21:22)   письмо автору
 
   для: Terri   (17.07.2007 в 23:13)
 

ну так как? ктонибудь знает ответа на даный вопрос?

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования