функция для вывода форматированной таблицы

Статус
В этой теме нельзя размещать новые ответы.

comrade

Новичок
функция для вывода форматированной таблицы

всем привет!
хотел спросить может кто то делал уже , а тоя по форуму порылся ничего похожего не нашел.
в общем если кратко то нужно сделать функцию которая будет выводить вот такие таблицы:
http://comrade-b.narod.ru/Untitled-1.htm
 

hermit_refined

Отшельник
функцию которая будет выводить вот такие таблицы
а тоя по форуму порылся ничего похожего не нашел.
ещё бы. кому нужны такие таблицы...
кстати, php таблицы не выводит.
он формирует (в данном случае) html.
у вас какие-то проблемы, или вы хотите, чтобы за вас написали?..
 

comrade

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

вот это как бы наработка

function print_row($loc_val,$loc_split)
{
echo "<tr>";
echo "<td colspan=$loc_split align=center>$loc_val</td>";
echo "</tr>";
}

function print_formatted_table($loc_tcols,$loc_trows)
{
echo "<table border=1>\n";
print_row("Показатели",$loc_tcols);
}


суть в том, чтобы выводить объединенные ячейки (тэг rowspan или colspan) начиная с какой-то, и объединять с этой ячейки по какую то... то есть тэг rowspan

надеюсь я понятно объясняю...

-~{}~ 01.03.07 15:19:

то ли мне отдельно сделать функцию для вывода <td>-шек и отдельно для <tr>... но как передавать параметры?

допустим мне в строке нужновыделить заголовки
"№ п/п", "ФИО", "адрес"...
код такой:
echo "<tr>№ п/п<td>ФИО</td><td>адрес</td></tr>";
но следующая строка у таблицы будет иметь больше или меньше <td>-тэгов
например всего одну ячейку
 

comrade

Новичок
Автор оригинала: Фанат
не надейся.

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

comrade

Новичок
хорошо. вот есть такая таблица:
_____________________
|____________________|
|___|____|________|___|
|_____|_____|___|___|__|
|___|____|_____|_______|


как бы ты ее вывел в цикле?
 

Фанат

oncle terrible
Команда форума
эту таблицу я бы нарисовал в хтмл и не парил бы мозги окружающим.
ещё вопросы?
 

comrade

Новичок
ну я понял... :)
вот ИМЕННО ЭТУ таблицу ты бы нарисовал в хтмл.
что если это только часть (5 строк) из, скажем 1000?
остальные 995 строк ты бы тоже нарисовал в хтмл?
 

Фанат

oncle terrible
Команда форума
если в этих 1000 есть закономерности, то в цикле
если нет - то, разумеется, руками.
по-твоему, есть какие-то другие варианты?
 

Balloon

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

чота я никак не могу понять какая у тебя всётаки проблема...

делать такие таблицы кстати можно не только при помощи rowspan и colspan , а при помощи вложеных друг в друга таблиц (верстальщики скажут что я дурак и лучше использовать div'ы навеное)... тогда не надо будет загоняться на счет количества ячеек в строке, а выводить сразу сколько есть..

имхо онли
 

comrade

Новичок
закономерности как таковой нет, но я знаю сколько ячеек в каждой строке.

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

Автор оригинала: Balloon
чота я никак не могу понять какая у тебя всётаки проблема...
имхо онли
скажем есть функция
print_row(value, colspan)
где value - это значение которое должно быть в ячейке. а colspan - это значение colspan для этой ячейки, означающее на сколько колонок она будет растянута.
т. е. для вывода такой таблицы:
_____________________
|___ Общий заголовок__|
|__ qqq______|_www___|
|_№ п/п_| Имя |__ адрес _|


вызовы такие
print_row('Общий заголовок', '3');
print_row('qqq:www', '2:1');
print_row('№ п/п:Имя:адрес', '1:1:1');

поясняю....

print_row('Общий заголовок', '3') - это вывод первой строки , ячейка которой должна быть расянута на всю ширь таблицы.
print_row('qqq:www', '2:1'); - здесь в строке две ячейки. первая должна быть растянута на 2 колонки вторая на 1.
print_row('№ п/п:Имя:адрес', '1:1:1') - каждая ячейка растянута на одну колонку.

замечу что эта строка
| № п/п | Имя | адрес |
самая длинная для этой таблицы и содержит три ячейки.
это важно потому как на основании самого большого числа ячеек в строке и идет группирование ячеек в строке.

я вот думаю еще как лучше параметры передавать то ли массивом то ли потом делать split строки...
 

Фанат

oncle terrible
Команда форума
я вот думаю еще как лучше параметры передавать то ли массивом то ли потом делать split строки...
и это единственная твоя проблема?
ты реально запарился вопросом, передавать ли параметры массивом или строкой? других проблем у тебя нет?
 

comrade

Новичок
Автор оригинала: Фанат
и это единственная твоя проблема?
ты реально запарился вопросом, передавать ли параметры массивом или строкой? других проблем у тебя нет?
скажем так... одна из них.
я хочу как оптимальнее
 

Фанат

oncle terrible
Команда форума
дурью не майся.
передавай как хочешь.
ОПТИМАЛЬНОСТЬ ДЕЛАЮТ В ДРУГОМ МЕСТЕ.

ещё вопросы будут?
 

angel_link

Новичок
На самом деле проблему можно решить следующим способом:
Ведь никто не обязывал нас использовать тока одну таблицу
<table>
<tr>
<td>
таблица1
</td>
</tr>
<tr>
<td>
Таблица2
</td>
</tr>
</table>
так мы снимем вопросы с расчетом ячеек и всякими colspanami
 

baev

‹°°¬•
Команда форума
angel_link, а чем это отличается от этого:
делать такие таблицы кстати можно не только при помощи rowspan и colspan , а при помощи вложеных друг в друга таблиц
?
 

exxbrain

Новичок
функция для вывода форматированной таблицы
Насколько я знаю, в php нет функции для вывода форматированной таблицы. В HTML есть тэги. Может быть вы тэги HTML имели ввиду?
 

comrade

Новичок
Автор оригинала: exxbrain
Насколько я знаю, в php нет функции для вывода форматированной таблицы. В HTML есть тэги. Может быть вы тэги HTML имели ввиду?
=) люди что ж вы так к словам цепляетесь....
в общем в итоге я сделал ф-ию.
тип такого

function print_cells($loc_val,$loc_split)
{
if ($loc_split<>1)
{
echo "\t\t<td colspan=$loc_split align=center>$loc_val</td>\n";
}
else
{
echo "\t\t<td align=center>$loc_val</td>\n";
}
}

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

-~{}~ 09.03.07 13:44:

спросить хотел в догонку
list($i,$j,$k) = sscanf(" ~1-10","%s~%d-%d")

почему-то выдает
что $i это "~1-10" а $j и $k null-ы
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху