Indholdsfortegnelse
Nogle webprojekter kræver administration af store datalister, f.eks. Produkt-, salgs-, bruger- og nyhedsfortegnelser.Mange mennesker finder det lettere at have disse data offline i et regneark.
Formålet med denne vejledning er at kunne udføre importen uanset programmet, uanset om det er Excel eller Libreoffice eller en anden mulighed for brugeren.
Når du har oprettet en MySQL -database, skal du udfylde den med oplysninger. Databasedataene er normalt indeholdt i en komma-begrænset fil eller CSV, og skal importeres til MySQL-databasen. Dette er en meget enkel opgave ved hjælp af PHP's indbyggede funktioner, der gør det let at importere fra en CSV-fil og eksportere den til en MySQL-database.
I dette tilfælde har vi en prisliste for service og computerdele.
[color = # 0000cd] OPRET TABEL, HVIS DET IKKE FÆLLER 'priser' ([/ farve]
[color = # 0000cd] `id` int (10) IKKE 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 NØGLE (`id`) [/ color]
[color = # 0000cd]) MOTOR = MyISAM DEFAULT CHARSET = utf8 AUTO_INCREMENT = 1; [/ color]
Nu er php -koden, der gør alt arbejdet
[color = # 0000cd] <? // vi opretter forbindelse til databasen [/ color]
[color = # 0000cd] $ connect = mysql_connect ('localhost', 'user', 'password'); [/ color]
[color = # 0000cd] if (! $ connect) {[/ color]
[color = # 0000cd] die ('Kan ikke oprette forbindelse til MySQL:'. mysql_error ()); [/ color]
[color = # 0000cd]} [/ color]
[color = # 0000cd] $ connectdb = mysql_select_db ('Services', $ connect); [/ color]
[color = # 0000cd] // Vi uploader csv -filen, der kommer fra formularen [/ color]
[color = # 0000cd] move_uploaded_file ($ _ FILES ["file"] ["tmp_name"], $ upload_dir. "/". $ FILES ["file"] ["tmp_name"]); [/ color]
[color = # 0000cd] $ cvs = $ upload_dir. "/". $ _FILES ["fil"] ["navn"]; [/ farve]
[color = # 0000cd] // række tæller antallet af rækker i filen starter med 0 [/ color]
[color = # 0000cd] $ række = 0; [/ farve]
[color = # 0000cd] $ fp = fopen ($ cvs. "", "r"); [/ color]
[color = # 0000cd] mens (! feof ($ fp)) {// jeg læste filen en linje ad gangen [/ color]
[color = # 0000cd] $ række ++; [/ farve]
[color = # 0000cd] // Jeg springer den første række over, da den har titlerne, og jeg er ikke interesseret i at indsætte dem i databasen [/ color]
[color = # 0000cd] if ($ række> 1) {[/ color]
[color = # 0000cd] // Den linje, jeg læste, adskiller den med eksplodere, og jeg angiver, at den er adskilt af; [/ color]
[color = # 0000cd] $ data = eksplodere (";", fgets ($ fp)); [/ color]
[color = # 0000cd] $ id = $ data [0]; [/ color]
[color = # 0000cd] $ concept = $ data [1]; [/ color]
[color = # 0000cd] $ price = $ data [2]; [/ color]
[color = # 0000cd] $ forespørgsel = "INSERT INTO prices (id, concept, price) VALUES ($ data [0], '$ data [1]', '$ data [2]')"; [/ color]
[color = # 0000cd] mysql_query ($ forespørgsel, $ connect); [/ color]
[color = # 0000cd] // slut på while loop [/ color]
[color = # 0000cd]} [/ color]
[color = # 0000cd]} [/ color]
[color = # 0000cd] // luk filen [/ color]
[color = # 0000cd] fclose ($ csv); [/ color]
[color = # 0000cd] ekko "Importen er færdig !!"; [/ color]
[color = # 0000cd] mysql_close ($ connect); [/ color]
[color = # 0000cd]?> [/ color]
Du kan også bruge dette script og gøre det mere fleksibelt, så brugeren kan registrere filen i en html -form med
[color = # 0000cd] [/ color]
[color = # 0000cd] [/ color]
[color = # 0000cd] [/ color]
og dermed kunne uploade CSV -filer og importere data fra den CSV -fil til en hvilken som helst mysql -database eller endda til flere fra en enkelt fil. Der er mange justeringer, der kan foretages med dette script og bruge det på den ønskede måde.