Spisie treści
Niektóre projekty internetowe wymagają zarządzania dużymi listami danych, takimi jak listy produktów, sprzedaży, użytkowników i wiadomości.Wielu osobom łatwiej jest mieć te dane offline w arkuszu kalkulacyjnym.
Celem tego samouczka jest możliwość przeprowadzenia importu niezależnie od programu, czy to Excel, Libreoffice lub inna opcja dostępna dla użytkownika.
Po utworzeniu bazy danych MySQL musisz wypełnić ją informacjami. Dane bazy danych są zwykle zawarte w pliku z ograniczeniem przecinków lub CSV i muszą zostać zaimportowane do bazy danych MySQL. Jest to bardzo proste zadanie wykorzystujące wbudowane funkcje PHP, które ułatwiają importowanie z pliku CSV i eksportowanie go do bazy danych MySQL.
W tym przypadku posiadamy cennik serwisu i części komputerowych.
[kolor = # 0000cd] UTWÓRZ TABELĘ, JEŚLI NIE ISTNIEJE `ceny` ([/ kolor]
[kolor = # 0000cd] `id` int (10) NOT NULL AUTO_INCREMENT, [/ color]
[kolor = # 0000cd] `concept` varchar (255) DEFAULT NULL, [/ color]
[kolor = # 0000cd] `cena` dziesiętna (10,2) DEFAULT NULL, [/ color]
[kolor = # 0000cd] KLUCZ PODSTAWOWY (`id`) [/ kolor]
[kolor = # 0000cd]) ENGINE = MyISAM DOMYŚLNY ZESTAW ZNAKÓW = utf8 AUTO_INCREMENT = 1;[/kolor]
Teraz kod php, który wykonuje całą pracę
[kolor = # 0000cd] <? // łączymy się z bazą danych [/ kolor]
[kolor = # 0000cd] $ connect = mysql_connect ('localhost', 'user', 'password'); [/color]
[kolor = # 0000cd] if (! $ connect) {[/ color]
[color = # 0000cd] die („Nie można połączyć się z MySQL:”. mysql_error ()); [/ color]
[kolor = # 0000cd]} [/ kolor]
[kolor = # 0000cd] $ connectdb = mysql_select_db ('Usługi', $ connect); [/ kolor]
[kolor = # 0000cd] // Wgrywamy plik csv, który pochodzi z formularza [/ kolor]
[color = # 0000cd] move_uploaded_file ($ _ FILES ["file"] ["tmp_name"], $ upload_dir. "/". $ FILES ["file"] ["tmp_name"]); [/ color]
[kolor = # 0000cd] $ cvs = $ upload_dir. "/". $ _FILES ["plik"] ["nazwa"]; [/ kolor]
[kolor = # 0000cd] // wiersz zlicza liczbę wierszy w pliku zaczynającą się od 0 [/ kolor]
[kolor = # 0000cd] $ wiersz = 0; [/ kolor]
[kolor = # 0000cd] $ fp = fopen ($ cvs. "", "r"); [/ kolor]
[color = # 0000cd] while (! feof ($ fp)) {// Czytam plik jeden wiersz na raz [/ color]
[kolor = # 0000cd] $ wiersz ++; [/ kolor]
[color = # 0000cd] // pomijam pierwszy wiersz, ponieważ ma tytuły i nie interesuje mnie wstawianie ich do bazy danych [/ color]
[kolor = # 0000cd] if ($ wiersz> 1) {[/ kolor]
[kolor = # 0000cd] // Wiersz, którą czytam, rozdzielam explodem i zaznaczam, że jest oddzielony przez;[/ color]
[kolor = # 0000cd] $ data = rozbicie (";", fgets ($ fp)); [/ kolor]
[kolor = # 0000cd] $ id = $ dane [0]; [/ kolor]
[kolor = # 0000cd] $ koncepcja = $ dane [1]; [/ kolor]
[kolor = # 0000cd] $ cena = $ dane [2]; [/ kolor]
[kolor = # 0000cd] $ query = "WSTAW ceny (id, koncepcja, cena) VALUES ($ dane [0], '$ dane [1]', '$ dane [2]')"; [/ kolor]
[kolor = # 0000cd] mysql_query ($ zapytanie, $ połączenie); [/ kolor]
[kolor = # 0000cd] // koniec pętli while [/ kolor]
[kolor = # 0000cd]} [/ kolor]
[kolor = # 0000cd]} [/ kolor]
[kolor = # 0000cd] // zamknij plik [/ kolor]
[kolor = # 0000cd] fzamknij ($ csv); [/ kolor]
[color = # 0000cd] echo "Import zakończony!"; [/ color]
[kolor = # 0000cd] mysql_close ($ connect); [/ color]
[kolor = # 0000cd]?> [/ kolor]
Możesz również użyć tego skryptu i uczynić go bardziej elastycznym, umożliwiając użytkownikowi zarejestrowanie pliku w formie html za pomocą
[kolor = # 0000cd] [/ kolor]
[kolor = # 0000cd] [/ kolor]
[kolor = # 0000cd] [/ kolor]
a tym samym móc przesyłać pliki CSV i importować dane z tego pliku CSV do dowolnej bazy danych mysql lub nawet do kilku z jednego pliku. Za pomocą tego skryptu można dokonać wielu zmian i wykorzystać go w pożądany sposób.