PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи

Страниц (1): [1]

> Найдено сообщений: 5
dotWizard Отправлено: 25 Марта, 2020 - 09:03:59 • Тема: Парсинг из json несколько таймсерий посредством PHP • Форум: Вопросы новичков

Ответов: 12
Просмотров: 220
Vladimir Kheifets Спасибо большое за подсказки. вроде во всём разобрался. Жаль пока плюсовать не могу.
dotWizard Отправлено: 25 Марта, 2020 - 06:53:33 • Тема: Парсинг из json несколько таймсерий посредством PHP • Форум: Вопросы новичков

Ответов: 12
Просмотров: 220
Vladimir Kheifets,LIME Спасибо огромное за то что пнули в нужном направлении, вроде получил результат которого ждал.
LIME насчёт ассоциативного массива - гораздо проще работать когда можешь забирать данные по ключу, а не по индексу, особенно в сложных структурах массивов.

Вроде уже сам понимаю как сделать, всем спасибо. Только один вопрос, я в переменную пихаю массив timeseries
CODE (htmlphp):
скопировать код в буфер обмена
  1. $timeseries = $json['timeseries'];
  2.     foreach ($timeseries->$data as $b)

Получаю соответственно массив в переменной b, но только последнее значение. Вроде задача и выполнена
CODE (htmlphp):
скопировать код в буфер обмена
  1. array timeseries(2) {
  2. ["1/22/20"]=> array(3) { ["all"]=> int(2) ["plus"]=> int(0) ["vozvr"]=> int(0) }
  3. ["3/15/20"]=> array(3) { ["all"]=> int(114) ["plus"]=> int(1) ["vozvr"]=> int(35) }
  4.  
  5. array b(2) {
  6. array (3) => ["all"]=> int(2) ["plus"]=> int(0) ["vozvr"]=> int(0)  
  7. array (3) => ["all"]=> int(114) ["plus"]=> int(1) ["vozvr"]=> int(35)

Подскажите, как забрать дату правильно из timeseries? И как можно все массивы по датам забрать, а не только последние. Это уже для собственного развития, вдруг где придётся такой функционал внедрять. Заранее спасибо.
dotWizard Отправлено: 24 Марта, 2020 - 15:28:55 • Тема: Парсинг из json несколько таймсерий посредством PHP • Форум: Вопросы новичков

Ответов: 12
Просмотров: 220
LIME пишет:
365 - записей на весь год? да наручные часы тебе за пару веков данных обсчет сделают и циферблатом не моргнут

В том то и проблема что я сюда запостил лишь шаблон данных. Сейчас там порядка 21 тыс строк, вот это печально. Нужно сделать по ним выборку отсеив лишние данные. Проще всего это делать не через js и не руками json править, поэтому и хочу всё запихнуть в базу. Но вот застопорился на этом. Ну да ладно, с этим разберусь, время позволяет.
dotWizard Отправлено: 24 Марта, 2020 - 14:59:31 • Тема: Парсинг из json несколько таймсерий посредством PHP • Форум: Вопросы новичков

Ответов: 12
Просмотров: 220
Vladimir Kheifets Спасибо за подсказки. Сейчас возник вопрос.
CODE (htmlphp):
скопировать код в буфер обмена
  1. $res=json_decode($json); вариант работает
  2. $res=json_decode($json, true); не работает, выдаёт ошибку.

Как я понимаю с ассоциативными массивами работать не будет?

LIME не только для аналитики. На их основе выборочно данные будут из базы формироваться в таблицу, для этого и нужно их в базу запихать. При этом с с json данных будет формироваться график/графики в реальном времени и возможно собираться статистические данные. Есть желание по максимуму всё унести на php.
LIME пишет:
о есть надо разбить на поля(date, all, plus, vozvr) и записать по датам в субд
вот это совершенно верно. Примером сверху мы просто вывели данные, а вот как их распихать по переменным и запихать в базу для дальнейшей аналитики?
Хотя у меня уже мысля что проще все данные подгружать напрямую с json, только насколько возрастут проблемы при дальнейшем допиливании - большой вопрос.
dotWizard Отправлено: 24 Марта, 2020 - 13:03:04 • Тема: Парсинг из json несколько таймсерий посредством PHP • Форум: Вопросы новичков

Ответов: 12
Просмотров: 220
Приветствую знатоков. Не знаю у кого ещё спросить. Есть данные json, проблем спарсить данные в принципе нет, если бы не один момент. Я в PHP не силён, но в json данных есть такая конструкция временных штампов"timeseries" и к каждому относятся определённые данные дата(все, плюс, возврат). Поступления и расходы почти каждый день, плюсом филиалы, всё понятно, просто циклом заберу.
Подскажите, как мне их загнать в базу все "timeseries", ну или на край с данными по последней дате, соответственно на PHP, js не подходит для задачи.
CODE (htmlphp):
скопировать код в буфер обмена
  1. [{"index":"",
  2. "filial":"Moskow",
  3. "lastupdate":"2020-03-22T04:42:00.006Z",
  4. "location":{"lat":40,"lng":40},
  5. "filindex":{"qwe1":"MS","qwe2":"MS1"},
  6. "timeseries":{"1/22/20":{"all":2,"plus":0,"vozvr":0},
  7. "3/15/20":{"all":114,"plus":1,"vozvr":35},
  8. "3/16/20":{"all":147,"plus":1,"vozvr":35},
  9. "3/17/20":{"all":177,"plus":1,"vozvr":41},
  10. "3/18/20":{"all":212,"plus":1,"vozvr":42},
  11. "3/19/20":{"all":272,"plus":1,"vozvr":42},
  12. "3/20/20":{"all":322,"plus":1,"vozvr":42},
  13. "3/21/20":{"all":411,"plus":1,"vozvr":42},
  14. "3/22/20":{"all":599,"plus":1,"vozvr":44}}},
  15. {"index":"",
  16. "filial":"voronezh",
  17. "lastupdate":"2020-03-12T04:42:00.006Z",
  18. "location":{"lat":50,"lng":50},
  19. "filindex":{"qwe1":"VR","qwe2":"VR1"},
  20. "timeseries":{"1/22/20":{"all":2,"plus":0,"vozvr":0},
  21. "3/15/20":{"all":839,"plus":22,"vozvr":118},
  22. "3/16/20":{"all":825,"plus":27,"vozvr":144},
  23. "3/17/20":{"all":878,"plus":29,"vozvr":144},
  24. "3/18/20":{"all":889,"plus":29,"vozvr":144},
  25. "3/19/20":{"all":924,"plus":29,"vozvr":150},
  26. "3/20/20":{"all":963,"plus":33,"vozvr":191},
  27. "3/21/20":{"all":1007,"plus":35,"vozvr":232},
  28. "3/22/20":{"all":1086,"plus":40,"vozvr":235}}}]

Страниц (1): [1]
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB