Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [XML][MySQL][PHP]Import XML poprzez php
dje31
post
Post #1





Grupa: Zarejestrowani
Postów: 18
Pomógł: 0
Dołączył: 17.03.2009
Skąd: Karpacz

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


WItam
Wiem że temat był kilkakrotnie walkowany ale:

Mam link do pliku .xml z okolo 44 000 produkatmi w prawie 50 kategoriach itd ...
W bazie mam już zaimplemenowane produkty z tego xmla - tylko z 15 kategorii czyli powiedzmy 20 000 produktów.

I teraz musze przygotowac codzienny update tych produktów wzgledem XMLa (cena, stan itd ...)

I moje pytania brzmi jak taki manewr zoptymalizować ?
Czyli jak to zrobić najefektywniej ?

Moje dwa pomysly:
1. Pobrać produkty z bazy danych do tablicy, do drugiej pobrać wszystkie (z 15 kat)z XMLa i porownywać wg ID jest to edit nie ma insert.
2. Pobrać produkty z XMla do tablcy i sprawdzić czy ID jest w bazie jak jest to nadpisać stan cene itd .. jak nie ma to insert .

Co bedzię bardziej optymalne ?

Z góry dzięki
Pozdrawiam
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 7)
-sdsd-
post
Post #2





Goście







Jeśli robisz to w cronie o 3 w nocy to nie ma to znaczenia.
Całą operacja zajmie ci 3 sekundy i nikt nie zauważy o tej godzinie spowolnienia strony.
Go to the top of the page
+Quote Post
dje31
post
Post #3





Grupa: Zarejestrowani
Postów: 18
Pomógł: 0
Dołączył: 17.03.2009
Skąd: Karpacz

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


TAk robić bede Cronem.

Czy bedze to rwalo 3 sek to nie jestem do konca przekonany.
Ale mi chodzi o to czy szybciej zaciagac plik XML do tablicy i spawrdzac z bazą czy bazę z plikiem ?
Ze względu na to że plik posiada wiecej produktów i kategorii niż te które mnie interesują.
Go to the top of the page
+Quote Post
Pyton_000
post
Post #4





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

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


I tak musisz przeleciec caly plik.

XMLReader pobierz sobie wszystkie niezbedne dane typu id, cena, stan, pobierz id z bazy danych, zrob diff i update tego co zostanie.
Go to the top of the page
+Quote Post
dje31
post
Post #5





Grupa: Zarejestrowani
Postów: 18
Pomógł: 0
Dołączył: 17.03.2009
Skąd: Karpacz

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


To fakt raz musze zaciagnac cały plik.

XMLReader zapisze info ale "DIFF" ? Nigdy nie uzywałem ...
Jakiś link do tego ? w Manualu znalazłem tylko "PHP: DateTime::diff"

Zresztą wrazie coś bez diffa tez polecę dalej ale dlaczego nie zaimplementować coś nowego == szybszego.
Go to the top of the page
+Quote Post
Pyton_000
post
Post #6





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

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


array_key_diff pod warunkiem że kluczami tablicy z XML i bd będą ID produktów
Go to the top of the page
+Quote Post
dje31
post
Post #7





Grupa: Zarejestrowani
Postów: 18
Pomógł: 0
Dołączył: 17.03.2009
Skąd: Karpacz

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


To nie przejdzie id produktu w bazie jest kluczem a sparwdzanie robie po "PN" (kod produktu), w XMLu kluczem jest PN="AWSP61212P"

Go to the top of the page
+Quote Post
Pyton_000
post
Post #8





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

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


O ile PN jest Uniq to nie ma problemu, możesz pobrać to zamiast ID i zastosować ten sam mechanizm.
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 22.08.2025 - 04:25