Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Рациональное решение обновления больших объёмов 
V
    Опции темы
Serious2008
Дата 2.4.2012, 17:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 294
Регистрация: 28.1.2011

Репутация: нет
Всего: нет



Здравствуйте, такой у меня вопрос. У меня есть некоторые данные, которые выводятся в инпуте текстовом. Их примерно 100 штук, и их нужно обновлять.
Так вот вопрос вот в чём. Как рациональней сделать. Выбрать те же данные из БД одним запросом, и сравнивать и там где есть расхождения, то и обновлять. Или просто залпом 100 update-ов. Подскажите какое из двух решений наиболее рациональное, или подскажите свой вариант.
PM MAIL   Вверх
ksnk
Дата 2.4.2012, 17:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

Репутация: 1
Всего: 386



Цитата(Serious2008 @  2.4.2012,  17:19 Найти цитируемый пост)
 некоторые данные, которые выводятся в инпуте текстовом. Их примерно 100 штук, и

все 100 в одном?

в какую сторону обновлять? 

Изменение на сервере передать клиенту - периодический ajax- запрос измененный данных. Если значение поля маленькое - (40-- байт), то так и передавать. Если больше - хранить на сервере в сессии последние данные в виде crc32 и длины. Если длина и crc32 не совпадают - отсылать на клиента.

Изменения клиента передать на сервер - на каждое поле клиента вешать onupdate и запоминать факт обновления поля. При сохранении пересылать только измененные.


--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
Serious2008
Дата 2.4.2012, 17:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 294
Регистрация: 28.1.2011

Репутация: нет
Всего: нет



Цитата

все 100 в одном?

На одной странице 100 инпутов.

Цитата

в какую сторону обновлять? 

От клиента серверу.


Цитата

Изменения клиента передать на сервер - на каждое поле клиента вешать onupdate и запоминать факт обновления поля. При сохранении пересылать только измененные.

Допустим повесить onUpdate это не проблема, а вот как пометить факт обновления. 
Я думал делать вот так. 
message[id из бд] и потом после кнопки субмит уже и обрабатывать его, а тут как только определённые передавать я уже не знаю.
PM MAIL   Вверх
ksnk
Дата 2.4.2012, 18:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

Репутация: 1
Всего: 386



Цитата(Serious2008 @  2.4.2012,  17:37 Найти цитируемый пост)
а вот как пометить факт обновления. 

как угодно. 
Пометить, например, факт обновления специальным классом, чтобы сериализовать было удобнее, да и подсветку организовать для измененных полей не помешает.
Можно пометить прямо в Javascript - запомнить имена измененных полей. 
Полезно при изменении запоминать стартовое значение, чтобы иметь возможность "отъехать" на стартовое. Этакий reset для отдельного поля.


--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
Fortop
Дата 2.4.2012, 22:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2200
Регистрация: 13.11.2007
Где: Донецк

Репутация: 1
Всего: 42



Цитата(Serious2008 @  2.4.2012,  17:37 Найти цитируемый пост)
На одной странице 100 инпутов.

Это, кстати, очень неудобно для пользователя


--------------------
Мир это Я.
Живее всех живых.
PM MAIL   Вверх
Serious2008
Дата 2.4.2012, 22:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 294
Регистрация: 28.1.2011

Репутация: нет
Всего: нет



ALL 
Это для админов корректировка сообщений пользователей, что я тоже считаю не очень приемлимо, ну да ладно. Я те что изменили, запихнул в доп чекбокс, и те которые изменялись я делаю выделенными и потом уже по их ID я и апгрейживаю.
Спасибо за помощь
PM MAIL   Вверх
skyboy
Дата 2.4.2012, 23:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 1
Всего: 260



Цитата(ksnk @  2.4.2012,  17:43 Найти цитируемый пост)
Полезно при изменении запоминать стартовое значение, чтобы иметь возможность "отъехать" на стартовое

поле default для input'a
отправлять только те, у которых default !== value
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса

Внимание: данный раздел предназначен для решения сложных, нестандартных задач.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Для профи | Следующая тема »


 




[ Время генерации скрипта: 0.0496 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.