![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| Serious2008 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 294 Регистрация: 28.1.2011 Репутация: нет Всего: нет |
Здравствуйте, такой у меня вопрос. У меня есть некоторые данные, которые выводятся в инпуте текстовом. Их примерно 100 штук, и их нужно обновлять.
Так вот вопрос вот в чём. Как рациональней сделать. Выбрать те же данные из БД одним запросом, и сравнивать и там где есть расхождения, то и обновлять. Или просто залпом 100 update-ов. Подскажите какое из двух решений наиболее рациональное, или подскажите свой вариант. |
|||
|
||||
| ksnk |
|
|||
![]() прохожий ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 1 Всего: 386 |
все 100 в одном? в какую сторону обновлять? Изменение на сервере передать клиенту - периодический ajax- запрос измененный данных. Если значение поля маленькое - (40-- байт), то так и передавать. Если больше - хранить на сервере в сессии последние данные в виде crc32 и длины. Если длина и crc32 не совпадают - отсылать на клиента. Изменения клиента передать на сервер - на каждое поле клиента вешать onupdate и запоминать факт обновления поля. При сохранении пересылать только измененные. -------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! |
|||
|
||||
| Serious2008 |
|
||||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 294 Регистрация: 28.1.2011 Репутация: нет Всего: нет |
На одной странице 100 инпутов.
От клиента серверу.
Допустим повесить onUpdate это не проблема, а вот как пометить факт обновления. Я думал делать вот так. message[id из бд] и потом после кнопки субмит уже и обрабатывать его, а тут как только определённые передавать я уже не знаю. |
||||||
|
|||||||
| ksnk |
|
|||
![]() прохожий ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 1 Всего: 386 |
как угодно. Пометить, например, факт обновления специальным классом, чтобы сериализовать было удобнее, да и подсветку организовать для измененных полей не помешает. Можно пометить прямо в Javascript - запомнить имена измененных полей. Полезно при изменении запоминать стартовое значение, чтобы иметь возможность "отъехать" на стартовое. Этакий reset для отдельного поля. -------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! |
|||
|
||||
| Fortop |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2200 Регистрация: 13.11.2007 Где: Донецк Репутация: 1 Всего: 42 |
Это, кстати, очень неудобно для пользователя -------------------- Мир это Я. Живее всех живых. |
|||
|
||||
| Serious2008 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 294 Регистрация: 28.1.2011 Репутация: нет Всего: нет |
ALL
Это для админов корректировка сообщений пользователей, что я тоже считаю не очень приемлимо, ну да ладно. Я те что изменили, запихнул в доп чекбокс, и те которые изменялись я делаю выделенными и потом уже по их ID я и апгрейживаю. Спасибо за помощь |
|||
|
||||
| skyboy |
|
|||
|
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 1 Всего: 260 |
||||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | PHP: Для профи | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |