Deutsch

PHP. Приемы программирования.

31.01.06 00:05
PHP. Приемы программирования.
 
Vijon постоялец
Последний раз изменено 31.01.06 00:14 (Vijon)
Следующий вопрос может быть сформулирован не только для PHP, но и для ряда других серверных скриптов.
Я описываю код лишь в общих чертах, и если что-либо будет неясно, охотно внесу уточнения.
Имеется некая HTML-таблица, содержимое которой нужно отредактировать и запомнить:
В ответ на:

[table]
[tr]
[td][input type=text][/td]
[td][input type=text][/td]
[td][input type=checkbox value=SomeValue][/td]
[/tr]
[tr]
[td][input type=text][/td]
[td][input type=text][/td]
[td][input type=checkbox value=SomeValue][/td]
[/tr]
...........................
[/table]

Вариант 1.
Таблица строится в виде:
В ответ на:

[form method=post action=thisURL]
[table]
[tr]
[td][input type=text name=0-field0][/td]
[td][input type=text name=0-field1][/td]
[td][input type=checkbox name=0-field2 value=SomeValue][/td]
[/tr]
[tr]
[td][input type=text name=1-field0][/td]
[td][input type=text name=1-field1][/td]
[td][input type=checkbox name=1-field2 value=SomeValue][/td]
[/tr]
...........................
[/table]
[/form]

а на сервере выполняется примерно следующий код:
В ответ на:

$fields=SomeFunction($tablename,0); //Функция, возвращающая хэш с характеристиками полей заданной таблицы.
for ($i=0; $i<$rowscount; $i++)
{
//Строится SQL-запрос со значениями: $_POST[$i.└-⌠.$fields[0][⌠name■]], $_POST[$i.└-⌠.$fields[1][⌠name■]]...
}

Вариант 2.
Содержимое таблицы конвертируется в XML (или таблица связана с XML-островом):
В ответ на:

[root]
[tablename]
[field0]value00[/field0]
[field1]value01[/field1]
[field2]value02[/field2]
[/tablename]
[tablename]
[field0]value10[/field0]
[field1]value11[/field1]
[field2]value12[/field2]
[/tablename]
......
[/root]

и посылается на сервер, где из XML генерируются соответствующие SQL-запросы.
Вариант 3.
Каждая строка таблицы запоминается индивидуально, с использованием вариантов 1 или 2.
В ответ на:

[table]
[tr]
[td][input type=text][/td]
[td][input type=text][/td]
[td][input type=checkbox value=SomeValue][/td]
[td][input type=button value=Save onclick=SomeHandler()][/td]
[/tr]
[tr]
[td][input type=text][/td]
[td][input type=text][/td]
[td][input type=checkbox value=SomeValue][/td]
[td][input type=button value=Save onclick=SomeHandler()][/td]
[/tr]
...........................
[/table]

Ява-скрипт функция SomeHandler() посылает на сервер содержимое нужной строки таблицы.
А какие именно варианты используют уважаемые коллеги (разумеется, выбирать из вышеперечисленных необязательно )?
I find my way through night and day'cause I know I just can't stayhere in heaven
 

Перейти на