@formRow.local[label;body] пара "описание поля"+"поле" в форме.
^ifdef[$label;
$label
;
]
$body
@form.local[] HTML форма для отправки сообщения
| | ^while[i<^var[total]; ^eq[^var[i];^var[start]; ^eval[1+i]-^if[^eval[count+i]>^var[total];^eval[total];^eval[count+i]] ; ^eval[1+i]-^if[^eval[count+i]>^var[total];^eval[total];^eval[count+i]] ] | ^var[i;+;^var[count]] ] |
Этот документ работает с ^;данными из ^;SQL таблицы ^;xgb*.
Все ^;что ^;нужно сделать для ^;показа записей, это ^;выбрать их ^;(записи) из ^;таблицы (select * from xgb) и ^;пройтись по ^;ним ^;оператором ^^menu[].
Если мы ^;хотим выдавать записи пачками по ^;n, то ^;SQL ^;запрос придется немного усложнить (select * from xgb limit s,n) и ^;озаботиться построением навигационной линейки, с ^;помошью которой нужно будет передавать параметр документу (с ^;какой записи начинать выборку).
С ^;записью данных в ^;таблицу тоже все ^;достаточно просто: ^^sql[insert into xgb ...]. Нужно только угадать момент, когда пользователь отправил данные на ^;сервер. Сделать это ^;можно по-разному. Я ^;в ^;данном случае вставил элемент в ^;форму <^;input type=hidden name=doInsert value=1>^; и ^;отслеживаю наличие  ^;параметра doInsert (^^ifdef[^^form[doInsert];...]).
* Код для ^;создания SQL ^;таблицы ^;xgb:
create table xgb (
id int not null auto_increment primary key,
published datetime,
name varchar(50),
comment text)
^item[name] (^item[fpublished])
^item[comment]