Importer en fil fra en beregningsskabelon til Mysql med php

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.

Uanset regnearket og hvilket operativsystem vi arbejder på, vil vi lede efter muligheden for at eksportere til tekst csv -format adskilt af semikolon; Dette genererer en enkel tekstfil, hvor kolonnerne erstattes af; og vi kan læse det fra enhver platform eller sprog.

Vi skal nu oprette i en mysql -database, formoder Services og oprette priser, hvor vi vil tilføje oplysningerne fra csv -filen
[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.

Det kan også bruges, når mange brugere skal uploade oplysninger til et websted, klienterklæringer eller konti, hver enkelt kan bruge den software, der passer bedst til dem og derefter uploade dem alle i det samme kompatible format for alle.Kan du lide og hjælpe denne vejledning?Du kan belønne forfatteren ved at trykke på denne knap for at give ham et positivt punkt
wave wave wave wave wave