Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php] Przebudwa skryptu importu, układ kolumn wg wskazania
kukix
post
Post #1





Grupa: Zarejestrowani
Postów: 600
Pomógł: 2
Dołączył: 1.09.2002
Skąd: Wrocław

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


Witam.

Potrzebuje przerobić skrypt importu plików csv.
W skrypcie ma być mołziwość wybierania, które kolumny majązostać zaimportowane i żeby można było zmieniać ich kolejnośc.

Jak zaplanowac taki skrypt? Macie jakieś pomysły?


np dostarczam do skryptu tablice

  1. $importuj_dane[0] = 'pole_1';
  2. $importuj_dane[1] = 'pole_5';
  3. $importuj_dane[2] = 'pole_2';
  4. $importuj_dane[3] = 'pole_9';


I jak teraz zaplanować import wg takiej kolejności i układu?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
kukix
post
Post #2





Grupa: Zarejestrowani
Postów: 600
Pomógł: 2
Dołączył: 1.09.2002
Skąd: Wrocław

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


Cytat(ctom @ 17.03.2015, 22:14:06 ) *
[code]$csvArray = []; // zrzucone dane z pliku CSV do tablicy
...

problemem jest to, że dla różnych kolumn trzeba czesto wykonywać różne operacje, które tylko dla danej kolumny wystepują :/



Przygotowałem następująca koncepcje, prosze o opinie

  1.  
  2. //ustalony porzadek kolumn - takie kolumny musi mieć też plik csv.
  3.  
  4. $uklad_kolumn[0] = 'NAZWA_KOLUMNYa';
  5. $uklad_kolumn[1] = 'NAZWA_KOLUMNYc';
  6. $uklad_kolumn[2] = 'NAZWA_KOLUMNYd';
  7. $uklad_kolumn[3] = 'NAZWA_KOLUMNYb';
  8.  
  9.  
  10. //funkcje dla każdej z mozliwych kolumn
  11. //funkcje te zwracaja wycinek kodu sql, który na końcu pętli jest wykonywany
  12.  
  13. function kol_NAZWA_KOLUMNYa($dane) { /*wykonujemy operacje*/ return $wycinek_sql; }
  14. function kol_NAZWA_KOLUMNYb($dane) { /*wykonujemy operacje*/ return $wycinek_sql; }
  15. function kol_NAZWA_KOLUMNYc($dane) { /*wykonujemy operacje*/ return $wycinek_sql; }
  16. function kol_NAZWA_KOLUMNYd($dane) { /*wykonujemy operacje*/ return $wycinek_sql; }
  17. function kol_NAZWA_KOLUMNYe($dane) { /*wykonujemy operacje*/ return $wycinek_sql; }
  18. function kol_NAZWA_KOLUMNYf($dane) { /*wykonujemy operacje*/ return $wycinek_sql; }
  19.  
  20.  
  21. $uchwyt = fopen ($plik_csv,"r");
  22. while (($data = fgetcsv($uchwyt, 6000, ";")) !== FALSE) {
  23. $kod_sql = '';
  24.  
  25. //rozpisujemy wszystkie kolumny
  26. foreach ($uklad_kolumn as $key => $value) {
  27.  
  28. //wykonujemy funkcje o danej nazwie i przekazujemy jej jako parametr wartość danej kolumny
  29. $kod_sql .= call_user_func( 'kol_'.$value , $data[ $key ] );
  30.  
  31. }
  32.  
  33. sql(" WYKONUJEMY POSKŁADANE ZAPYTANIE $kod_sql ");
  34. }
  35.  


Ten post edytował kukix 31.03.2015, 17:46:54
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 7.10.2025 - 03:16