![]() |
![]() |
![]() ![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 1 Pomógł: 0 Dołączył: 2.03.2012 Ostrzeżenie: (0%) ![]() ![]() |
Hey
Na początku przyznam że jestem początkujący i to bardzo z programowaniem w php - aż tego żałuję bo muszę dodać parę dodatkowych funkcji działającego już kodu - jest to kod odpowiedzialny za importowanie danych z pliku csv i wprowadzanie ich do bazy danych na serwerze... Tak po krótce co robi kod: Mamy istniejąca bazę na której są jakieś produkty, następnie chcemy zaimportować nowe produkty do bazy przy użyciu pliku csv (standardowe kodowanie UTF-8, separator ";" separator wielu wartości ","). Kod importuje określone dane z pliku csv takie jak: nazwa produktu kod produktu EAN ID podatku (w tym wypadku ID 1) ilość cena hurtowa cena netto <--> automatycznie generuje cenę brutto, następnie importowany jest: opis skrócony opis główny meta tytuł meta opis meta tagi oraz wartości logiczne mówiące czy wprowadzony produkt ma być aktywny czy nie i czy zdjęcie istniejące już ma usunąć... Minus jest taki że kod opiera się na ID wpisu do bazy danych produktu - jeśli w pliku csv nie podajemy ID pod jakim dany produkt ma zostać wpisany czy był wpisany jeśli się powtarza to on wprowadzi go jak nowy - czyli innymi słowy dubluje produkty nowe z tymi już istniejącymi - nie rozróżnia ich wogóle bo ID nie jest używane takie samo w csv i w bazie. Modyfikacja, którą staram się dodać do tego kodu będzie robiła wpierw: - porównanie kodu produktu (z pliku csv) z kodem produktu już istniejącym w bazie, jeśli kod będzie inny to wprowadzi produkt jako nowy a jeśli kody będą takie same to przeprowadzi aktualizację istniejącego już w bazie produktu, następujące pola zostaną zaktualizowane: - ilość - cena hurtowa - cena netto Reszta pozostanie bez zmian. Dodatkowo kod powinien zapisywać do zewnętrznego pliku txt na serwerze - kody produktów wprowadzonych nadpisanych (uaktualnione). oto przykładowy format zapisu csv: Cytat 161110;885976023884;RNLNVX20001;X201 3626PW9;Lenovo;101;2967.90;3650.52;0;1;1;1;0;X201 3626PW9;X201 3626PW9;X201 3626PW9;X201 3626PW9 164576;645743090125;RNLNVX28503;X220 W7P64 2520M/4G/320/Int/;Lenovo;101;4197.80;5163.29;3;1;1;1;0;X220 W7P64 2520M/4G/320/Int/;X220 W7P64 2520M/4G/320/Int/;X220 W7P64 2520M/4G/320/Int/;X220 W7P64 2520M/4G/320/Int/ 162260;645743542051;RNLNVZV0009;ThinkPad L512 2598-CTO-329510;Lenovo;101;2613.56;3214.68;0;1;1;1;0;ThinkPad L512 2598-CTO-329510;ThinkPad L512 2598-CTO-329510;ThinkPad L512 2598-CTO-329510;ThinkPad L512 2598-CTO-329510 74694;ABEANAB02359;ABFELT01450;Plecak na notebook BG Fast Track 75914;Fellowes;95,113;142.01;206.11;0;1;1;1;0;Plecak na notebook BG Fast Track 75914;Plecak na notebook BG Fast Track 75914;Plecak na notebook BG Fast Track 75914;Plecak na notebook BG Fast Track 75914 114597;043859559404;ABFELT02011;Torba Thrio Lady 15' bordowa 5594501;Fellowes;95,113;92.61;134.41;0;1;1;1;0;Torba Thrio Lady 15' bordowa 5594501;Torba Thrio Lady 15 bordowa 5594501;Torba Thrio Lady 15 bordowa 5594501;Torba Thrio Lady 15 bordowa 5594501 W poniższym kodzie istotne są jedynie następujące partie (importujące produkty): case $this->entities[$this->l('Products')]: public function productImport() A tu istniejący już kod, który w pełni działa ale mam problemy z jego modyfikacją: Plik z kodem php udostępniam na stronie: http://www.kkp-gezler.pl/sklep/download/AdminImport.txt Ten post edytował KSEIKO 2.03.2012, 16:47:54 -------------------- KKP-GEZLER Usługi i pomoc dla firmy
Kancelaria Księgowo-Podatkowa Czechowice-Dziedzice, sklep komputerowy czyli tani sprzęt komputerowy i gry, certyfikaty energetyczne Czechowice-Dziedzice |
|
|
![]() ![]() |
![]() |
Aktualny czas: 19.08.2025 - 04:26 |