![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 23 Pomógł: 0 Dołączył: 16.02.2008 Ostrzeżenie: (0%) ![]() ![]() |
Witam, mam plik .csv liczący około 6 000 rekordów. W rekordach znajdują się dane produktów. Jak sprawnie importować dane z tego pliku do bazy mysql by produkty mogły być wyświetlane w sklepie www? Dodam że taki import odbywałby się co dzień i wcześniej zaimportowane do bazy rekordy musiałyby się aktualizować wedle danych z nowego pliku.
Proszę przedstawić mi tok postępowania, służący optymalizacji tego procesu. Pozdrawiam, Tomek. |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 246 Pomógł: 79 Dołączył: 25.05.2010 Ostrzeżenie: (0%) ![]() ![]() |
Jak masz teraz to rozwiązane i dlaczego chcesz to zoptymalizować?
-------------------- Jeśli ten post pomógł to kliknij przycisk
![]() Nie pomagam przez PW, GG, e-mail, faks, telegram, znaki dymne, ... |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 215 Pomógł: 19 Dołączył: 24.12.2003 Skąd: Przemyśl Ostrzeżenie: (0%) ![]() ![]() |
Użyj funkcji fgetcsv. Zaimportujesz sobie plik do tablicy. Pobierz sobie wcześniejsze wpisy i porównuj co masz
-------------------- My mind is glowing ...
Jeśli pomogłem push the button :) |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 23 Pomógł: 0 Dołączył: 16.02.2008 Ostrzeżenie: (0%) ![]() ![]() |
Jak masz teraz to rozwiązane i dlaczego chcesz to zoptymalizować?
Tylko to chyba by było nieoptymalne robić insert 6000 razy z kolei w pętli? Później jeszcze kwestia sprawdzania tych rekordów i szukania wartości z każdego rekordu z pliku .csv 6000 razy dla każdego rekordu w bazie... Nie wiem jak to zrobić prościej i szukam optymalnego rozwiązania. Dziękuję za odpowiedzi. |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 215 Pomógł: 19 Dołączył: 24.12.2003 Skąd: Przemyśl Ostrzeżenie: (0%) ![]() ![]() |
No a jak Ty chcesz wstawić inaczej te 6000 rekordów ? Jeśli trzeba je wstawić to musisz zrobić inserta i tyle. Co do sprawdzania to pobierz jakieś identyfikatory do tablicy po których będziesz sprawdzał czy istnieje on w bazie i zastosuj np. in_array. Jeśli np. identyfikator danego wiersza nie istnieje w tej tablic to robię inserta. Aby było jeszcze szybciej to zamiast in_array wykorzystałbym isset, zrobiłbym tablicę gdzie kluczami były by nazwy tych identyfikatorów a wartości to np. 1
i potem bym sprawdzał poprostu
-------------------- My mind is glowing ...
Jeśli pomogłem push the button :) |
|
|
![]() ![]() |
![]() |
Aktualny czas: 19.08.2025 - 14:22 |