Таблицы нужны. Нужны и на форуме, и на самой базе. Использовать HTML для большинства пользователей - просто глупо. Не уверен что половина тех, кто мастерит самопально web-странички знает HTML. Для него есть всякие FrontPage, Macromedia со своими "производными" и куча других оболочек, где создание таблиц вопросов не вызывает. Есть еще и Word
По-этому надо ориентироваться исключительно "на дурака". Такого, например, как я, потому что если мне, например, понадобится на сайте сделать таблицу, то я прибегну к FrontPage, а не буду изначально лепить ее в кодах HTML. Если надо, то я посмотрю спецификации HTML и при необходимости подправлю вручную.Вот мои скромные предложения:
С чего начинается создание таблицы? Наверно с определения числа строк, столбцов, ее номера и названия (если последние необходимы). Следовательно, по логике вещей, должна быть какая-то конструкция типа такой:
[table=<Title>, suptitle=<Suptitle>, col=<Col>, row=<Row>]
это - заголовок и одновременно открывающий тег.
- Title - заголовок таблицы (может быть пустым);
- Suptitle - это я так назвал "надзаголовок" (может быть пустым). Обычо это слово "Таблица" или "Таблица 2.18"...
- Col - число столбцов (1...N);
- Row - число строк (1...N).
Например:
- закрывающий тег.
Теперь о теле таблицы. Здесь, на мой взгляд, надо просто указывать индексы, описывающую строку и столбец, причем порядок для интерпритации должен быть произвольным. Это просто занесение значений туда, куда надо. Что-то вроде этого:
(row,col=Text)
Вид, в конечном итоге, может быть таким:
(1,1=№ п/п) (1,2=Марка двигателя) (1,3=%СО) ...
Но это совсем просто. Потому я предлагаю небольшое усложнение, но очень полезное и которое позволит создавать таблицы достаточно сложные и без особого умственного напряга. Я имею ввиду следующую запись:
(row1<...row2>,col1<...col2>=Text)
Тут все тоже самое, как и в предыдущем примере, но допускается указывать блоки внутри таблицы.
Нетрудно догадаться, что тогда будет означать следующая запись:
(1...2,1=№ п/п) (1...2,2=Марка двигателя) (1,3...5=Технические характеристики)
(2,3=P, кВт) (2,4=max обороты) (2,5=%СО)
(3,1=1) (3,2=М-412) (3,3=75) (3,4=5600) (3,5=х.з.)
(4,1=2) (4,2=Тойота) (4,3=х.з.) (4,4=х.з.) (4,5=х.з.)
Ну, и в конечном итоге вся запись будет иметь вид:
(1...2,1=№ п/п) (1...2,2=Марка двигателя) (1,3...5=Технические характеристики)
(2,3=P, кВт) (2,4=max обороты) (2,5=%СО)
(3,1=1) (3,2=М-412) (3,3=75) (3,4=5600) (3,5=х.з.)
(4,1=2) (4,2=Тойота) (4,3=х.з.) (4,4=х.з.) (4,5=х.з.)
А сама таблица должна иметь вот такой вид:
[attachmentid=8172]
(х.з. - это общепринятое сокращение, означающее НЕТ ДАННЫХ)