![]() |
![]() |
![]() ![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 189 Pomógł: 2 Dołączył: 28.08.2010 Ostrzeżenie: (0%) ![]() ![]() |
Witam, mam mały problem z zapisaniem wielu rekordów z pliku xml jednocześnie , poniżej jest mój skrypt zapisuje on jeden rekord i tylko ostatni z pliku xml , co muszę poprawić aby zapisywał wszystkie rekordy do bazy mysql ?
Problem prawie rozwiązany, tylko teraz dziwnie zapisują mi się dane w tabeli a mianowicie w trzech rekordach są dane z jednej stacji to jest kod
Ten post edytował slawekxx 5.09.2010, 10:26:14 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 162 Pomógł: 26 Dołączył: 19.01.2007 Ostrzeżenie: (0%) ![]() ![]() |
Jak robisz 3 INSERTY po kolei to nie dziw się, że dodają się 3 rekordy. Możesz robić 1 INSERT + 2 UPDATE'y, lub tylko 1 INSERT zamiast trzecieg który wstawi wszystkie dane (to jest lepsze z powodów wydajnościowych).
Poczytaj manuala o insertach bo moim zdaniem używasz niewłaściwej składni (chodzi mi o SET). Rekordy dodaje się trochę inzcej: INSERT INTO nazwatabeli (col1, col2, col3) values( 1,2,3) Ten post edytował kitol 7.09.2010, 08:05:48 |
|
|
![]()
Post
#3
|
|
Grupa: Moderatorzy Postów: 8 989 Pomógł: 1550 Dołączył: 8.08.2008 Skąd: Słupsk/Gdańsk ![]() |
Poczytaj manuala o insertach bo moim zdaniem używasz niewłaściwej składni (chodzi mi o SET). Rekordy dodaje się trochę inzcej: INSERT INTO nazwatabeli (col1, col2, col3) values( 1,2,3) SET też jest dozwolony. W przypadku tematu użyj ON DUPLICATE KEY UPDATE (więcej info google) |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 189 Pomógł: 2 Dołączył: 28.08.2010 Ostrzeżenie: (0%) ![]() ![]() |
Kod poprawiony tylko, że teraz wpisuje we wszystkie rekordy te same dane dla instrukcji UPDATE
|
|
|
![]()
Post
#5
|
|
Grupa: Moderatorzy Postów: 8 989 Pomógł: 1550 Dołączył: 8.08.2008 Skąd: Słupsk/Gdańsk ![]() |
No to pokaż teraz kod.
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 189 Pomógł: 2 Dołączył: 28.08.2010 Ostrzeżenie: (0%) ![]() ![]() |
OK kod :-)
|
|
|
![]()
Post
#7
|
|
Grupa: Moderatorzy Postów: 8 989 Pomógł: 1550 Dołączył: 8.08.2008 Skąd: Słupsk/Gdańsk ![]() |
Jak patrze na takie bezmózgie wypociny to naprawdę ręce opadają. Marsz do kursu i przeczytaj PO CO JEST WHERE DLA ZAPYTANIA UPDATE!
Bez dokładnej lektury tegoż kursu i poczwórnego przeczytania manuala MYSQL nawet nie wracaj. |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 189 Pomógł: 2 Dołączył: 28.08.2010 Ostrzeżenie: (0%) ![]() ![]() |
A przejrzałeś ten plik http://www.meteo.gr/WFSail/templates/Gdata2.xml ?
|
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 162 Pomógł: 26 Dołączył: 19.01.2007 Ostrzeżenie: (0%) ![]() ![]() |
Zrób jedna pętlę iterującą po elementach "GROUND_STATIONS" i wykonuj po jednym insercie pobierając wszystkie wartości danego elementu do zapytania. Dodatkowo poczytaj o simplexml. Ten kod nie powinien zajmować więcej niż 10 linii.
@wookieb. SET jest dozwolony to prawda. Ale chyba prościej i lepiej dla kolegi byłoby to zrobić standardową składnią. Po co uczyć kolegę czegoś, czego nikt nie praktykuje? |
|
|
![]()
Post
#10
|
|
Grupa: Moderatorzy Postów: 8 989 Pomógł: 1550 Dołączył: 8.08.2008 Skąd: Słupsk/Gdańsk ![]() |
@wookieb. SET jest dozwolony to prawda. Ale chyba prościej i lepiej dla kolegi byłoby to zrobić standardową składnią. Po co uczyć kolegę czegoś, czego nikt nie praktykuje? Zdziwisz się. Np w wielu klasach do obsługi DB inserty konstruuje się właśnie w ten sposób ponieważ taki fragment zapytania można użyć bez problemu w zapytaniu UPDATE = mniej kodu przygotowującego zapytanie INSERT |
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 189 Pomógł: 2 Dołączył: 28.08.2010 Ostrzeżenie: (0%) ![]() ![]() |
Próbowałem już UPDATE ale chyba coś nie tak robię, bo ciągle nie wychodzi ... rekordy zapisują się jak się zapisywały :-) czy ktoś może pomóc mi naprawić ten kod ?
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 24.08.2025 - 15:31 |