Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Формирование таблицы
Форумы портала PHP.SU » » Вопросы новичков » Формирование таблицы

Страниц (1): [1]
 

1. megarocks - 27 Сентября, 2011 - 10:57:56 - перейти к сообщению
Мне необходимо сформировать таблицу, при чем так чтобы некоторые ячейки в ней были объединены. Таблица состоит из 9 ячеек и какие из них будут объединены определяется массивом чисел передаваемых как аргумент генерирующей функции, типа:

Вобщем-то понятно что в случае с таблицей необходимо использовать colspan и rowspan, но беда в том что я не могу сообразить как это сделать так чтоб не появлялись лишние ячейки: когда задаём для одной из ячеек атрибут colspan=2, то это значит что данная ячейка будет занимать два места в строке этой таблицы и значит в строку поместиться ещё одна ячейка, а третью уже рисовать не нужно ( для таблицы 3х3). Ну а если на вход функции передать команду объединить ячейки 1,2,3 то получается что вся строка будет состоять из одной длинной ячейки, и другие две в этой строке рисовать не нужно. Но не перебирать же все варианты объединений (а для таблицы 3х3 их очень много).
Пример таблицы которая должна получиться на рисунке во вложении... может у кого-нибудь будут какие-то идеи. А может эту задачу лучше вообще реализовать на div... Заранее благодарен.
PHP:
скопировать код в буфер обмена
  1. generateTable (array(
  2.                                         array('cells' => '1,2'),
  3.                                         array('cells' => '4,7'),
  4.                                         array('cells' => '5,6,8,9)));
  5.  
2. ГенГрум - 27 Сентября, 2011 - 12:46:40 - перейти к сообщению
div тут не возможен - проблема выравнивания по столбцам.
Теперь попробуй привести рабочий HTML код таблицы из рисунка.

colspan - делаешь через while.
CODE (htmlphp):
скопировать код в буфер обмена
  1. $y=4;
  2. while($y){
  3.     $y-=$colspan;
  4. }

 

Powered by ExBB FM 1.0 RC1