![]() |
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]() ![]() ![]() |
|
HipJ |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 58 Регистрация: 21.1.2006 Репутация: нет Всего: нет |
Здравствуйте, уважаемые форумчане!
Возникла потребность в написании одной программки, суть которой я изложу ниже. В этом топике я не буду просить вас написать код (хотя это было бы неплохо ![]() Итак, приступим к описанию. Программа получает файл xml от сервера. В этом файле хранятся данные, так же в нем есть переменная - время, в миллисекундах, эту переменную нужно использовать при последующем обращении к серверу (прибавляем, например к ней 60 секунд, получаем в ответ только измененные данные, относительно первого файла). Для начала требуется немного обработать данные (конкретно - числа перевести с одного формата в другой), тут, вроде ![]() Далее, при каждом следующем обращении к файлу, нужно учитывать полученные изменения и следить за ними. Например, в исходном файле <summ>1</summ>, во втором запросе произошло изменение <summ>1.1</summ>, в 4 запросе снова произошло изменение <summ>1.4</summ> (движение может быть в любую сторону). Обязательно нужно записывать время изменения. Так же с течением времени данная переменная (блок) может исчезнуть (закончится). (чтобы было понятнее - речь идет о спортивных событиях) Так вот, каким образом хранить все изменения, чтобы потом удобно было их обрабатывать? ![]() Я так себе представляю: загружаем файл xml -> переносим данные в БД. Сохраняем по каждому событию необходимые для отслеживания данные, создаем таблицы, которые будут учитывать изменения (записывать) по каждому событию. Второй скрипт (программа) будет уже заниматься выгрузкой и обработкой данных. Далее.. думаю |
|||
|
||||
ksnk |
|
|||
![]() прохожий ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 96 Всего: 386 |
например в виде массива - ключ-значение "root/summ" - ключ, 1 и 1.1 - значения. Ключи формируются путем текстового суммирования корневых имен. Соответственно, в базе таблица из 2-х строковых полей. Такой способ позволит сравнивать значения за один проход по массиву. Формировать такой массив из исходного xml - рекурсивным проходом по распарсенному xml. А что делается со значениями дальше? Что такое обрабатывать? Может с этого стоило начать? ![]() -------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! ![]() |
|||
|
||||
HipJ |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 58 Регистрация: 21.1.2006 Репутация: нет Всего: нет |
Да, возможно стоило с этого начать. После получения и сохранения всех полученных изменений (это как новые значения уже имеющихся записей, так и новые записи) необходимо обработать изменения, конкретно - в простых случаях (например изменение значения на 0.1, далее на -0.1) просто отобразить движение (в текстовом виде в столбик), а в случае, если изменение произошло на значения превышающее заданные пределы, то отформатировать выводящуюся информацию по-иному. ![]() ![]() |
|||
|
||||
![]() ![]() ![]() |
Правила форума "PHP" | |
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |