Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Dane z pliku XML do bazy SQL
brzanek
post
Post #1





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

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


Witam szukałem na forum ale nie znalazłem odpowiedniej podpowiedzi jak zrobić aby dane z zewnętrznego pliku xml były zapisywane w bazie danych sql.

Chodzi mi o to że ze strony o pogodzie odczytuję dane z pliku xml. Dane te aktualizują się co jakiś czas (co 30 min) http://www.yr.no/place/Polen/Vest-Pommern/...no/forecast.xml
Czy jest ajkiś sposób aby można było zapisać te dane w odpowiednich tabelach w mojej bazie danych. Import musiał by robić się automatycznie z możliwością zadpisywania danych jeśli były zmienione oraz z możliwością dodawania nowych id bo codziennie pojawiają się nowe prognozy na kolejne dni.
Mam nadzieję że wyjaśniłem o co mi chodzi nie potrafię sobie z tym poradzić. Proszę o jakieś wskazuówki lub przykładowy kod. Z góry dziękuję i pozdrawiam.
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%)
-----


Dobra udało mi się ocdczytać plik xml
  1. <?php
  2.  
  3. $weatherdata = simplexml_load_file('http://www.yr.no/place/Polen/Vest-Pommern/Choszczno/forecast.xml');
  4. $name = $weatherdata->location->name;
  5. $time = $weatherdata->forecast->tabular->time;
  6. $symbol = $weatherdata->forecast->tabular->time->symbol;
  7. $temperature = $weatherdata->forecast->tabular->time->temperature;
  8. $windDirection = $weatherdata->forecast->tabular->time->windDirection;
  9. $windSpeed = $weatherdata->forecast->tabular->time->windSpeed;
  10. $pressure = $weatherdata->forecast->tabular->time->pressure;
  11. ?>
  12. <style>
  13. .temp {
  14. background-color: #FEB100;
  15. color: #fff;
  16. font-family: arial;
  17. font-size: 12px;
  18. font-weight: bold;
  19. padding-bottom: 3px;
  20. padding-top: 3px;
  21. padding-left: 6px;
  22. padding-right: 6px;
  23. -webkit-border-radius: 6px;
  24. -moz-border-radius: 6px;
  25. border-radius: 6px;
  26. text-align: center;
  27. }
  28. .wiatr {
  29. background-color: #464646;
  30. color: #fff;
  31. font-family: arial;
  32. font-size: 12px;
  33. font-weight: bold;
  34. padding-bottom: 3px;
  35. padding-top: 3px;
  36. padding-left: 6px;
  37. padding-right: 6px;
  38. -webkit-border-radius: 6px;
  39. -moz-border-radius: 6px;
  40. border-radius: 6px;
  41. text-align: center;
  42. }
  43. .cisnienie {
  44. background-color: #e4e4e4;
  45. color: #444;
  46. font-family: arial;
  47. font-size: 12px;
  48. font-weight: bold;
  49. padding-bottom: 3px;
  50. padding-top: 3px;
  51. padding-left: 6px;
  52. padding-right: 6px;
  53. -webkit-border-radius: 6px;
  54. -moz-border-radius: 6px;
  55. border-radius: 6px;
  56. text-align: center;
  57. }
  58. .data {
  59. background-color: #f5f5f5;
  60. color: #555;
  61. font-family: arial;
  62. font-size: 12px;
  63. font-weight: bold;
  64. padding-bottom: 3px;
  65. padding-top: 3px;
  66. padding-left: 5px;
  67. padding-right: 5px;
  68. -webkit-border-radius: 5px;
  69. -moz-border-radius: 5px;
  70. border-radius: 5px;
  71. border: 1px solid #e4e4e4;
  72. width: 350px;
  73. text-align: center;
  74. }
  75. .miejscowosc {
  76. background-color: #2bb853;
  77. color: #fff;
  78. font-family: arial;
  79. font-size: 12px;
  80. font-weight: bold;
  81. padding-bottom: 3px;
  82. padding-top: 3px;
  83. padding-left: 5px;
  84. padding-right: 5px;
  85. -webkit-border-radius: 5px;
  86. -moz-border-radius: 5px;
  87. border-radius: 5px;
  88. text-align: center;
  89. }
  90. .tekst {
  91. color: #fff;
  92. font-family: arial;
  93. font-size: 12px;
  94. font-weight: bold;
  95. padding-bottom: 3px;
  96. padding-top: 3px;
  97. padding-left: 8px;
  98. padding-right: 8px;
  99. text-align: center;
  100. }
  101. .brak {
  102. padding-bottom: 3px;
  103. padding-top: 3px;
  104. padding-left: 4px;
  105. padding-right: 4px;
  106. text-align: center;
  107. }
  108. </style>
  109. <?php
  110. echo "<table border='0'>
  111. <tr>
  112. <td class='miejscowosc'>$name</td>
  113. <td class='tekst'>Prognoza na najbliższe godziny</td>
  114. </tr>
  115. </table>\n";
  116.  
  117. foreach ($weatherdata->forecast as $time) {
  118. echo '<table border="0" cellpadding="0" cellspacing="0">
  119. <tr>
  120. <td></td>
  121. </tr>
  122. </table>';
  123. echo '<table border="0" cellpadding="0" cellspacing="0" width="300px">
  124. <tr><td>';
  125. echo '<table border="0" cellpadding="0" cellspacing="0" width="60px">
  126. <tr>
  127. <td class="ikon"><img src="infusions/prognozy_panel/ikonki/'.$symbol['var'].'.png"</td>
  128. </tr>
  129. </table>';
  130. echo '</td><td align="left">';
  131. echo '<table border="0" cellpadding="0" cellspacing="5">
  132. <tr>
  133. <td class="temp">'.$temperature['value'].' ?C</td>
  134. <td class="brak"> </td>
  135. <td class="wiatr">'.$windSpeed['mps'].' m/s</td>
  136. <td class="brak"> </td>
  137. <td class="cisnienie">'.$pressure['value'].' hPa</td>
  138. </tr>
  139. </table>';
  140. echo '</td></tr></table>';
  141. }
  142.  
  143. ?>

http://djdandi.nazwa.pl/1/2015/choszcznomini.php
Brak ikonki oznacza że nie ma jej na serwerze ale to nie problem
W bazie danych zmieniłem tabele i dałem na datę DATATIME
Co dalej jak dodać do tego możliwość zapisania danych w bazie sql?

Ten post edytował brzanek 25.08.2014, 19:55:53
Go to the top of the page
+Quote Post

Posty w temacie
- brzanek   Dane z pliku XML do bazy SQL   25.08.2014, 08:44:17
- - Turson   Napisz parser XML => twoja baza Cronem odpalaj ...   25.08.2014, 08:46:38
- - brzanek   Ah żeby to było takie proste jak piszesz to pewnie...   25.08.2014, 08:53:45
|- - aniolekx   Cytat(brzanek @ 25.08.2014, 08:53:45 ...   25.08.2014, 08:58:25
- - Pyton_000   Może coś takiego: http://rpbouman.blogspot.com/200...   25.08.2014, 09:14:02
|- - brzanek   Cytat(Pyton_000 @ 25.08.2014, 10:14:0...   25.08.2014, 09:52:10
- - nospor   Czas to ma byc DATETIME a nie zadne VARCHAR Inne w...   25.08.2014, 13:54:32
- - brzanek   Dobra udało mi się ocdczytać plik xml [PHP] pobie...   25.08.2014, 19:53:42
- - nospor   Tym kodem pobierasz tylko po jednym rekordzie. A c...   26.08.2014, 07:01:03
- - brzanek   Tak dokładnie ale nie wiem jak to zrobić aby pobra...   26.08.2014, 09:39:57
- - nospor   http://pl1.php.net/manual/en/simplexml.examples-ba...   26.08.2014, 11:38:09
- - brzanek   W jakim miejscu mam umieścić ten kod?   26.08.2014, 14:50:50
- - nospor   Ten kod pobiera dane z xml, więc masz go umieścić ...   26.08.2014, 15:04:40
- - brzanek   Coś nie mogę sobie z tym poradzić. Daję taki kod. ...   27.08.2014, 07:09:40
|- - Pyton_000   [PHP] pobierz, plaintext foreach ($weatherdata...   27.08.2014, 07:16:48
- - nospor   Pyton ty tez źle napisales.... [PHP] pobierz, pla...   27.08.2014, 07:42:59
- - brzanek   Dałem tak [PHP] pobierz, plaintext foreach ($w...   27.08.2014, 07:45:23
- - nospor   Spojrz jeszcze raz na moj poprzedni post.... Masz ...   27.08.2014, 07:46:26
- - brzanek   Super wielkie dzięki teraz jeszcze pozostaje kwest...   27.08.2014, 08:11:14
- - nospor   No dobra, ale czego nie wiesz? Jak wlozyc dane do ...   27.08.2014, 08:13:53
- - brzanek   W innym temacie dane piszę ręcznie i tam wszystko ...   27.08.2014, 08:19:58
- - nospor   Ale to nie ma zadnej roznicy czy wkladasz dane rec...   27.08.2014, 08:21:50
- - brzanek   Pewnie masz rację zwał jak zwał, ale możesz mi z t...   27.08.2014, 08:26:35
- - nospor   No weź napisz tego insserta i nie czaruj... Przeci...   27.08.2014, 08:28:01
- - brzanek   Dobra zmieniłem trochę bazę danych Do pliku dodał...   27.08.2014, 09:18:41
- - nospor   Jaki post? A gdzie petla? Przeciez napisalem wyra...   27.08.2014, 09:21:18
- - brzanek   ok dałem to w tej pętli [PHP] pobierz, plaintext ...   27.08.2014, 09:29:08
- - nospor   Przepraszam, wlasnie stracilem cierpliwosc... Moze...   27.08.2014, 09:35:55
- - Turson   1. Poprawna składnia wygląda np. tak [SQL] pobierz...   27.08.2014, 09:45:20
- - brzanek   Zrobiłem tak jak podałeś ale wyskakuje błąd [PHP] ...   27.08.2014, 09:52:47
- - nospor   Nazwy kolumn oddziela się przecinkiem a nie spacją...   27.08.2014, 09:56:01
- - brzanek   Dałem tak [PHP] pobierz, plaintext $add = mysql_qu...   27.08.2014, 10:09:34
- - Turson   A gdzie masz tekst w apostrofach? :/ Bo jedyne co ...   27.08.2014, 10:11:59
- - nospor   Super, zdecydowanie lepiej. A wartosci tekstowe d...   27.08.2014, 10:14:54
- - brzanek   Ok działa zapisuje się tylko jest jeden problem ja...   27.08.2014, 10:28:32
- - nospor   Po pierwsze: zacznij w koncu uzywac znakow interpu...   27.08.2014, 10:32:49
- - brzanek   Cytat(nospor @ 27.08.2014, 11:32:49 )...   27.08.2014, 10:35:55
- - nospor   Odnosze wrazenie, ze w tym temacie to wielokrotnie...   27.08.2014, 10:38:33
- - brzanek   Ale widzisz na raz wykonuje się kilkanaście rekord...   27.08.2014, 11:30:01
- - nospor   No dobrze, wszystko się zgadza. Dlatego ci tlumacz...   27.08.2014, 11:34:31
- - brzanek   Ale jak zalozyc UNIQUE KEY? Czy to robi się w bazi...   27.08.2014, 12:26:40
- - Turson   Tak. PhpMyAdmin -> baza -> tabela -> stru...   27.08.2014, 12:29:36
- - brzanek   Nie mam pojęcia jak to zmienić w bazie danych nie ...   27.08.2014, 12:40:12
- - Turson   W strukturze na dole jest "Indeksy" i ta...   27.08.2014, 12:45:24
- - brzanek   Cytat(nospor @ 27.08.2014, 12:34:31 )...   27.08.2014, 15:11:57
- - Pyton_000   Jesteś LEŃ: http://dev.mysql.com/doc/refman/5.0/en...   27.08.2014, 15:47:45
- - brzanek   Przepraszam za odkopanie tematu ale dotyczy tej sa...   22.08.2016, 12:35:25


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: 16.10.2025 - 03:08