Innehållsförteckning
Vissa webbprojekt kräver hantering av stora datalistor som produkt-, försäljnings-, användar- och nyhetslistor.Många tycker att det är lättare att ha denna data offline i ett kalkylblad.
Målet med denna handledning är att kunna utföra importen oavsett program, oavsett om det är Excel eller Libreoffice eller ett annat alternativ som är tillgängligt för användaren.
När du har skapat en MySQL -databas måste du fylla i den med information. Databasdata finns vanligtvis i en kommagränsad fil, eller CSV, och måste importeras till MySQL-databasen. Detta är en mycket enkel uppgif.webpt med PHP: s inbyggda funktioner som gör det enkelt att importera från en CSV-fil och exportera den till en MySQL-databas.
I det här fallet har vi en prislista för tjänster och datordelar.
[color = # 0000cd] SKAPA TABELL OM DET INTE GÅR 'priser' ([/ färg]
[color = # 0000cd] `id` int (10) NOT NULL AUTO_INCREMENT, [/ color]
[color = # 0000cd] `concept` varchar (255) DEFAULT NULL, [/ color]
[color = # 0000cd] `price` decimal (10,2) DEFAULT NULL, [/ color]
[color = # 0000cd] PRIMÄR KEY (`id`) [/ color]
[color = # 0000cd]) ENGINE = MyISAM DEFAULT CHARSET = utf8 AUTO_INCREMENT = 1; [/ color]
Nu är php -koden som gör allt arbete
[color = # 0000cd] <? // vi ansluter till databasen [/ color]
[color = # 0000cd] $ connect = mysql_connect ('localhost', 'user', 'password'); [/ color]
[color = # 0000cd] if (! $ connect) {[/ color]
[color = # 0000cd] die ('Kan inte ansluta till MySQL:'. mysql_error ()); [/ color]
[color = # 0000cd]} [/ color]
[color = # 0000cd] $ connectdb = mysql_select_db ('Services', $ connect); [/ color]
[color = # 0000cd] // Vi laddar upp csv -filen som kommer från formuläret [/ color]
[color = # 0000cd] move_uploaded_file ($ _ FILES ["file"] ["tmp_name"], $ upload_dir. "/". $ FILES ["file"] ["tmp_name"]); [/ color]
[color = # 0000cd] $ cvs = $ upload_dir. "/". $ _FILES ["file"] ["name"]; [/ color]
[color = # 0000cd] // rad räknar antalet rader i filen börjar med 0 [/ color]
[color = # 0000cd] $ rad = 0; [/ color]
[color = # 0000cd] $ fp = fopen ($ cvs. "", "r"); [/ color]
[color = # 0000cd] medan (! feof ($ fp)) {// jag läste filen en rad i taget [/ color]
[color = # 0000cd] $ rad ++; [/ color]
[color = # 0000cd] // Jag hoppar över den första raden eftersom den har titlarna och jag är inte intresserad av att infoga dem i databasen [/ color]
[color = # 0000cd] if ($ rad> 1) {[/ color]
[color = # 0000cd] // Linjen som jag läser separerar den med explode och jag anger att den är åtskild med; [/ color]
[color = # 0000cd] $ data = explode (";", fgets ($ fp)); [/ color]
[color = # 0000cd] $ id = $ data [0]; [/ color]
[color = # 0000cd] $ concept = $ data [1]; [/ color]
[color = # 0000cd] $ price = $ data [2]; [/ color]
[color = # 0000cd] $ query = "SKRIV IN I priser (id, koncept, pris) VÄRDEN ($ data [0], '$ data [1]', '$ data [2]')"; [/ color]
[color = # 0000cd] mysql_query ($ query, $ connect); [/ color]
[color = # 0000cd] // slutet av medan loop [/ color]
[color = # 0000cd]} [/ color]
[color = # 0000cd]} [/ color]
[color = # 0000cd] // stäng filen [/ color]
[color = # 0000cd] fclose ($ csv); [/ color]
[color = # 0000cd] eko "Importen klar !!"; [/ color]
[color = # 0000cd] mysql_close ($ connect); [/ color]
[color = # 0000cd]?> [/ color]
Du kan också använda detta skript och göra det mer flexibelt, så att användaren kan registrera filen i en html -form med
[color = # 0000cd] [/ color]
[color = # 0000cd] [/ color]
[color = # 0000cd] [/ color]
och därmed kunna ladda upp CSV -filer och importera data från den CSV -filen till valfri mysql -databas eller till och med flera från en enda fil. Det finns många justeringar som kan göras med detta skript och använda det på önskat sätt.