Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Import z dużego pliku CSV
Forum PHP.pl > Forum > PHP
cichy19-
Witam

Szukam rozwiązania na szybki import danych z bardzo dużych plików CSV. Miałby on polegać na uaktualnianiu tabeli danymi z pliku.
Niestety pierwsze co muszę zrobić to sprawdzić czy w tabeli istnieje odpowiedni wpis, a następnie uaktualnić odpowiednie pola.
Wiem że poniższe rozwiązanie jest fatalne ale jedyne co mi przychodzi do głowy:

  1. $plik_tresc = file($plik);
  2. foreach($plik_tresc as $line_num => $line) {
  3. list($pole1, $pole2, $pole3) = explode(';', $line);
  4.  
  5. $rezultat = mysql_query('SELECT * FROM Tabela1 WHERE Pole2=\''.$pole1.'\' LIMIT 1');
  6. $PoleID = mysql_result($rezultat, 0, 'Pole1');
  7.  
  8. mysql_query('UPDATE Tabela1 SET Pole3=\''.$pole2.'\', Pole4=\''.$pole3.'\' WHERE Pole1=\''.$PoleID.'\'');
  9.  
  10. }

Pole1 to INT, a Pole2 to Varchar.
Będę bardzo wdzięczny za pomoc.
nospor
No to może na początek, na dość logiczny początek, byś wykonywał UPDATE tylko wtedy, gdy select zwróci jakieś dane?
cichy19-
Zapomniałem dodać że UPDATE tylko wtedy jeśli SELECT zwróci jakieś dane.
uupah5
podałem Ci link. zapoznałeś się?

- ładujesz dane z pliku do tabeli roboczej
- operację aktualizacji wykonujesz na poziomie bazy danych (kolejny link: http://www.electrictoolbox.com/article/mys...s-table-update/ )

To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.