![]() |
![]() ![]() |
![]() |
![]() ![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 4 Pomógł: 0 Dołączył: 8.03.2011 Skąd: Lublin Ostrzeżenie: (0%) ![]() ![]() |
Witam!
To mój pierwszy post na forum zatem proszę o wyrozumiałość. Niedawno rozpocząłem naukę z php i mysql. Przygoda ma charakter hobbystyczny a nie zawodowy ![]() Po przeczytaniu paru poradników, oraz kilku tematów na forum dotarłem do ściany, której nie mogę przeskoczyć zapewne z braku wiedzy... Mam plik XML o następującej strukturze:
plik jest obszerny, jego ostatni węzeł to:
łącznie od 0..4414 i będzie rosło w przyszłości... Ten kod:
Poprawnie wyłuskuje dane z pliku xml czego efektem jest wyświetlenie następujących danych:
itd... aż do
i teraz moje pytanie: W jaki sposób te dane mogę umieścić w tabelach w bazie MySQL poprzez odpowiednie polecenia PHP? Problem polega również na tym, że nie zawsze we wszystkich węzłach występują jednakowe pola... np. nie wszędzie występuje [teamid], [url]. Dodatkowo, czy jest możliwe aby zdefiniować jakie pola z listy wewnętrznej
będą wstawiane do danej tabeli w bazie danych. Np. Chciałbym podzielić te dane do dwóch tabel: Pierwsza - zawierająca [cpid jako PrimaryKey][name][country][teamid] z możliwością robienia updatów jeżeli dojdą nowi user Druga - zawierająca [numer - jako primary key AI][date - wstawiana z automatu w momencie wpisu do wiersza][total_credit][cpid] z możliwością robienia codziennych nowych wpisów dla wszystkich user z bazy jako kolejnych wierszy czyli w efekcie np.: 1 2011-03-08 100 [cpid] 2 2011-03-09 200 [cpid] itd.. Codziennie będzie więc pobierany plik user.xml i będzie robiony update tabeli 1 i uzupełnienie tabeli 2. Być może rozwiązanie jest banalne dla osób siedzących w temacie ale ja jak na razie nie znalazłem odpowiedzi... Pewnie gotowego rozwiązania (kodu) nikt mi nie napisze ![]() Tomek. |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 952 Pomógł: 154 Dołączył: 20.01.2007 Skąd: /dev/oracle Ostrzeżenie: (0%) ![]() ![]() |
W tabelach bazodanowych możesz mieć kolumny z atrybutem NULL. Jeśli w jakimś elemencie nie masz wybranego klucza, po prostu wrzucasz do bazy NULL. A jak to zrobić... puść sobie pętlę foreach po Twojej tablicy elementów i w każdej iteracji wyślij do bazy zapytanie INSERT z odpowiednimi danymi.
-------------------- Specjalista ds. głupich i beznadziejnych, Zyx
Nowości wydawnicze: Open Power Collector 3.0.1.0 | Open Power Autoloader 3.0.3.0 |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 127 Pomógł: 15 Dołączył: 16.02.2008 Skąd: Sanok Ostrzeżenie: (0%) ![]() ![]() |
A jak to zrobić... puść sobie pętlę foreach po Twojej tablicy elementów i w każdej iteracji wyślij do bazy zapytanie INSERT z odpowiednimi danymi. Może nie w każdej iteracji ![]()
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 580 Pomógł: 85 Dołączył: 25.03.2010 Skąd: Skrzyszów :) Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]() ![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 4 Pomógł: 0 Dołączył: 8.03.2011 Skąd: Lublin Ostrzeżenie: (0%) ![]() ![]() |
Dzięki za wszystkie podpowiedzi.
Import zakończony sukcesem! Teraz zabawa jak robić update... |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.08.2025 - 09:20 |