Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP]Import danych z CSV do Mysql usuwanie duplikatów
ufo125
post
Post #1





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 7.10.2020

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


Siema
Postaram się opisać problem w kwestii php jestem laikiem. Mam do zaimportowania Dane z pliku exel do których codziennie jest cos dodawane. Za pomocą phpmyadmin mogę sobie bez problemu zaimportować ten dane po przekonwertowaniu exela do CSV pytanie czy istnieje jakiś skrypt w php który będzie usuwał duplikaty albo nie będzie dodawała danych które już istnieją w tabeli bazy danych opierając się np. o PESEL
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
SmokAnalog
post
Post #2





Grupa: Zarejestrowani
Postów: 1 707
Pomógł: 266
Dołączył: 3.07.2012
Skąd: Poznań

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


Działa to tak, że czytasz sobie ten plik Excela w skrypcie PHP i ten plik jest interpretowany jako zwykła tablica. Na przykład niech plik Excel ma takie dane:

Kod
imie,nazwisko,wiek
Jan,Kowalski,33
Anna,Nowak,21
Henryk,Król,88


Skrypt PHP otwiera plik, który mu przesłałeś i albo każesz mu czytać wiersz po wierszu (oszczędzając pamięć) i masz wtedy przy każdej iteracji osobną tablicę:

1. ['imie', 'nazwisko', 'wiek']
2. ['Jan', 'Kowalski', '33']
3. ['Anna', 'Nowak', '21']
4. ['Henryk', 'Król', '88']

Albo czytasz od razu cały plik i masz wszystkie dane naraz:

  1. [
  2. ['imie', 'nazwisko', 'wiek'],
  3. ['Jan', 'Kowalski', '33'],
  4. ['Anna', 'Nowak', '21'],
  5. ['Henryk', 'Król', '88']
  6. ]


Co robisz z tymi danymi to już Twoja decyzja. Możesz narysować na ekranie kwiatki z liczbą listków równych długości imienia, na przykład.

Albo możesz zrobić to co Ty chcesz, czyli wstawiać rekordy do bazy, sprawdzając przy tym czy dany rekord już istnieje.

Jest też wbudowany sposób wrzucania CSV do bazy SQL: LOAD DATA INFILE. Jest dużo szybszy, ale masz mniej kontroli nad tym co się dzieje.
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: 13.10.2025 - 13:25