Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP]Dane z json do bazy danych
brzanek
post
Post #1





Grupa: Zarejestrowani
Postów: 429
Pomógł: 0
Dołączył: 8.11.2012

Ostrzeżenie: (0%)
-----


Witam chciał bym zapisać dane z pliku json do mojej bazy danych. Problem jest w tym, że dane pod jednym id ok 270 wierszy. Wiem że mogę zrobić to na zasadzie
  1. $add = mysql_query("INSERT INTO nazwa_tabeli
  2. (
  3. miasto, data, tempobecna, text, ikona, code, wiatr, kierunek, cisnienie, opady, zachmurzenie,
  4. dzien, dzientempmax, dzientempmin, dzienodczuwalna, dzienmaxwind, dzienopady, dzienpogoda, dzienikona, dziencode, dzienwschod, dzienzachod,
  5. dzien1, dzien1tempmax, dzien1tempmin, dzien1odczuwalna, dzien1maxwind, dzien1opady, dzien1pogoda, dzien1ikona, dzien1wschod, dzien1zachod
  6. )
  7. VALUES(
  8. '$miasto', '$data', '$tempobecna', '$text', '$ikona', '$code', '$wiatr', '$kierunek', '$cisnienie', '$opady', '$zachmurzenie',
  9. '$dzien', '$dzientempmax', '$dzientempmin', '$dzienodczuwalna', '$dzienmaxwind', '$dzienopady', '$dzienpogoda', '$dzienikona', '$dziencode', '$dzienwschod', '$dzienzachod',
  10. '$dzien1', '$dzien1tempmax', '$dzien1tempmin', '$dzien1odczuwalna', '$dzien1maxwind', '$dzien1opady', '$dzien1pogoda', '$dzien1ikona', '$dzien1wschod', '$dzien1zachod'
  11. )");

Ale boję się, że serwer może nie wytrzymać.
Mam już zrobioną bazę danych i chcę zabrać się za kod który doda mi te dane.
Czy macie jakieś inne wyjście jak to w prosty sposób zapisać.
Tak wygląda plik json.
http://brzanek.webd.pl/prognoza/new/choszcznonew.json
Dane zmieniają się co 30 minut a więc wywołanie pliku który będzie zapisywał te dane do bazy danych MySQL będę chciał wykorzystać CRONA na serwerze.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
brzanek
post
Post #2





Grupa: Zarejestrowani
Postów: 429
Pomógł: 0
Dołączył: 8.11.2012

Ostrzeżenie: (0%)
-----


Racja poprawiłem
  1. CREATE TABLE IF NOT EXISTS `miasta` (
  2. `id` int(11) NOT NULL AUTO_INCREMENT,
  3. `id_miasto` varchar(100) NOT NULL,
  4. `latitude` float(10,6) NOT NULL,
  5. `longitude` float(10,6) NOT NULL,
  6. PRIMARY KEY (`id`)
  7. ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
  8.  
  9.  
  10. CREATE TABLE IF NOT EXISTS `prognoza_godzinowa` (
  11. `id_miasto` int(11) NOT NULL,
  12. `time` int(11) NOT NULL,
  13. `summary` varchar(50) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
  14. `icon` varchar(50) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
  15. `precipIntensity` float(10,6) NOT NULL,
  16. `precipProbability` float(10,6) NOT NULL,
  17. `temperature` float(10,6) NOT NULL,
  18. `apparentTemperature` float(10,6) NOT NULL,
  19. `dewPoint` float(10,6) NOT NULL,
  20. `humidity` float(10,6) NOT NULL,
  21. `windSpeed` float(10,6) NOT NULL,
  22. `windBearing` float(10,6) NOT NULL,
  23. `cloudCover` float(10,6) NOT NULL,
  24. `pressure` float(10,6) NOT NULL
  25. ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
  26.  
  27.  
  28. CREATE TABLE IF NOT EXISTS `prognoza` (
  29. `id_miasto` int(11) NOT NULL,
  30. `time` int(11) NOT NULL,
  31. `summary` varchar(50) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
  32. `icon` varchar(50) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
  33. `sunriseTime` int(11) NOT NULL,
  34. `sunsetTime` int(11) NOT NULL,
  35. `moonPhase` float(10,6) NOT NULL,
  36. `precipIntensity` float(10,6) NOT NULL,
  37. `precipIntensityMax` float(10,6) NOT NULL,
  38. `precipProbability` float(10,6) NOT NULL,
  39. `temperatureMin` float(10,6) NOT NULL,
  40. `temperatureMax` float(10,6) NOT NULL,
  41. `apparentTemperatureMin` float(10,6) NOT NULL,
  42. `apparentTemperatureMax` float(10,6) NOT NULL,
  43. `dewPoint` float(10,6) NOT NULL,
  44. `humidity` float(10,6) NOT NULL,
  45. `windSpeed` float(10,6) NOT NULL,
  46. `windBearing` float(10,6) NOT NULL,
  47. `cloudCover` float(10,6) NOT NULL,
  48. `pressure` float(10,6) NOT NULL
  49. ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;


Tak wygląda plik który dodaje rekordy do bazy danych.
  1. <?php
  2. $json = 'http://brzanek.webd.pl/prognoza/new/choszcznonew.json';
  3. $json = file_get_contents($json);
  4. $response = json_decode($json, true);
  5.  
  6. if ($response != null) {
  7.  
  8. //Daily Forecast
  9. $dailyCond= array();
  10. foreach ($response['daily']['data'] as $d) {
  11. $dailyCond[] = $d;
  12. }
  13.  
  14. $wi = 0;
  15. $count = 0;
  16. foreach ($dailyCond as $cond) {
  17.  
  18. if ($count++ == 0) continue;
  19.  
  20. $wtime = $cond['time'];
  21. $wsummary = $cond['summary'];
  22. $wicon = $cond['icon'];
  23. $wtemperatureMax = round($cond['temperatureMax']);
  24. $wtemperatureMin = round($cond['temperatureMin']);
  25. $wprecipProbability = $cond['precipProbability']*100;
  26. $wprecipIntensity = $cond['precipIntensity'];
  27. if (isset($cond['precipType'])) {
  28. $precipType = $cond['precipType'];
  29. }
  30. $wcloudCover = $cond['cloudCover']*100;
  31. $whumidity = $cond['humidity']*100;
  32. $wwindSpeed = round($cond['windSpeed']);
  33. $wsunriseTime = $cond['sunriseTime'];
  34. $wsunsetTime = $cond['sunsetTime'];
  35. $wmoonPhase = $cond['moonPhase'];
  36. $wprecipIntensityMax = $cond['precipIntensityMax'];
  37. $wapparentTemperatureMin = $cond['apparentTemperatureMin'];
  38. $wapparentTemperatureMax = $cond['apparentTemperatureMax'];
  39. $wdewPoint = $cond['dewPoint'];
  40. $wwindBearing = $cond['windBearing'];
  41. $wpressure = $cond['pressure'];
  42. $wid_miasto = 1;
  43.  
  44. include ("db.php");
  45. $add = mysql_query("UPDATE prognoza SET time='".$wtime."', summary='".$wsummary."', icon='".$wicon."', sunriseTime='".$wsunriseTime."', sunsetTime='".$wsunsetTime."', moonPhase='".$wmoonPhase."', precipIntensity='".$wprecipIntensity."', precipIntensityMax='".$wprecipIntensityMax."',
  46. precipProbability='".$wprecipProbability."', temperatureMin='".$wtemperatureMin."', temperatureMax='".$wtemperatureMax."', apparentTemperatureMin='".$wapparentTemperatureMin."', apparentTemperatureMax='".$wapparentTemperatureMax."',
  47. dewPoint='".$wdewPoint."', humidity='".$whumidity."', windSpeed='".$wwindSpeed."', windBearing='".$wwindBearing."', cloudCover='".$wcloudCover."', pressure='".$wpressure."'");
  48.  
  49. $wi++;
  50. if ($wi%3 == 0) echo '</div><div class="row">';
  51. }
  52. }
  53. ?>


Problem w tym, że ilość rekordów zgadza się ale każdy z nich jest taki sam - dlaczego?
Proszę o pomoc z góry dziękuję i pozdrawiam.

Ten post edytował brzanek 22.10.2016, 19:04:13
Go to the top of the page
+Quote Post

Posty w temacie
- brzanek   [MySQL][PHP]Dane z json do bazy danych   17.10.2016, 19:38:06
- - Tomplus   używając MySQLi możesz wykonać jednym zapytaniem d...   17.10.2016, 19:45:55
- - brzanek   Nie wiem czy mnie zrozumiałeś. Jedno id to wszystk...   19.10.2016, 10:46:19
- - b4rt3kk   Masz fatalnie zaprojektowaną bazę danych, jeśli fa...   19.10.2016, 13:59:43
- - brzanek   Z pewnością masz rację ale nie wiem jak to zapisać...   19.10.2016, 14:05:08
|- - b4rt3kk   Cytat(brzanek @ 19.10.2016, 15:05:08 ...   19.10.2016, 14:19:13
|- - brzanek   Cytat(b4rt3kk @ 19.10.2016, 15:19:13 ...   19.10.2016, 16:36:28
- - Tomplus   stwórz sobie pętle która będzie dodawać elementy d...   19.10.2016, 14:19:21
- - Tomplus   <pre> służy tylko do interpretacji danych w ...   19.10.2016, 20:29:07
- - brzanek   Zacząłem coś pisać ale zatrzymałem się na pobieran...   20.10.2016, 09:32:16
- - Tomplus   Powiedz mi proszę po co robisz kolumny o nazwie: ...   20.10.2016, 10:28:44
- - brzanek   Wszystko ładnie i pięknie ale będę zbierał dane dl...   20.10.2016, 10:48:21
|- - b4rt3kk   Cytat(brzanek @ 20.10.2016, 11:48:21 ...   20.10.2016, 20:18:08
- - Tomplus   dodaj do tablicy: table_hours_weather kolumnę miej...   20.10.2016, 11:35:18
- - brzanek   ok a więc mam takie tabele. [SQL] pobierz, plainte...   22.10.2016, 11:40:56
- - Tomplus   - wszystkie kolumny jako utf-8, a tabela jako lati...   22.10.2016, 13:06:27
- - brzanek   Racja poprawiłem [SQL] pobierz, plaintext CREATE T...   22.10.2016, 20:13:39
- - Tomplus   wyświetl sobie poprzez echo treść lub print_r, jeż...   22.10.2016, 22:22:48
- - brzanek   Dziwne polecenie [PHP] pobierz, plaintext $add = ...   23.10.2016, 10:15:15
- - Tomplus   A po co aktualizujesz? Nie lepiej dodać nowe rekor...   23.10.2016, 11:21:48
- - brzanek   Może racja a więc w tabeli prognoza będę dodawał n...   23.10.2016, 11:47:25
- - Tomplus   Wystarczy jedna funkcja gdzie parametrem jest mia...   23.10.2016, 13:30:39


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 29.12.2025 - 12:59