Importer en fil fra en beregningsmal til Mysql med php

Innholdsfortegnelse
Noen webprosjekter krever administrasjon av store datalister som produkt-, salg-, bruker- og nyhetsoppføringer.
Mange synes det er lettere å ha disse dataene frakoblet i et regneark.
Målet med denne opplæringen er å kunne utføre importen uavhengig av programmet, enten Excel eller Libreoffice eller et annet alternativ som er tilgjengelig for brukeren.
Etter at du har opprettet en MySQL -database, må du fylle den ut med informasjon. Databasedataene er vanligvis inneholdt i en komma-begrenset fil, eller CSV, og må importeres til MySQL-databasen. Dette er en veldig enkel oppgave ved hjelp av PHPs innebygde funksjoner som gjør det enkelt å importere fra en CSV-fil og eksportere den til en MySQL-database.
I dette tilfellet har vi en prisliste for tjenester og datamaskindeler.

Uansett regneark og hvilket operativsystem vi jobber med, vil vi se etter muligheten til å eksportere til tekst csv -format atskilt med semikolon; Dette vil generere en enkel tekstfil der kolonnene vil bli erstattet av; og vi kan lese det fra hvilken som helst plattform eller språk.

Vi skal nå opprette i en mysql -database, anta Tjenester og lage priser der vi vil legge til informasjonen fra csv -filen
[color = # 0000cd] LAG TABELL HVIS IKKE GÅR `` priser`` ([/ color]
[color = # 0000cd] `id` int (10) IKKE NULL AUTO_INCREMENT, [/ color]
[color = # 0000cd] `concept` varchar (255) DEFAULT NULL, [/ color]
[color = # 0000cd] `price` desimal (10,2) DEFAULT NULL, [/ color]
[color = # 0000cd] PRIMÆRNØKKEL (`id`) [/ color]
[color = # 0000cd]) ENGINE = MyISAM DEFAULT CHARSET = utf8 AUTO_INCREMENT = 1; [/ color]
Nå er php -koden som gjør alt arbeidet
[color = # 0000cd] <? // vi kobler oss til databasen [/ color]
[color = # 0000cd] $ connect = mysql_connect ('localhost', 'user', 'password'); [/ color]
[color = # 0000cd] if (! $ connect) {[/ color]
[color = # 0000cd] die ('Kan ikke koble til MySQL:'. mysql_error ()); [/ color]
[color = # 0000cd]} [/ color]
[color = # 0000cd] $ connectdb = mysql_select_db ('Services', $ connect); [/ color]
[color = # 0000cd] // Vi laster opp csv -filen som kommer fra skjemaet [/ 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 teller antall rader i filen som starter med 0 [/ color]
[color = # 0000cd] $ row = 0; [/ color]
[color = # 0000cd] $ fp = fopen ($ cvs. "", "r"); [/ color]
[color = # 0000cd] mens (! feof ($ fp)) {// jeg leste filen en linje om gangen [/ color]
[color = # 0000cd] $ rad ++; [/ color]
[color = # 0000cd] // Jeg hopper over den første raden siden den har titlene, og jeg er ikke interessert i å sette dem inn i databasen [/ color]
[color = # 0000cd] if ($ rad> 1) {[/ color]
[color = # 0000cd] // Linjen jeg leser, skiller den med eksplodere, og jeg angir at den er atskilt med; [/ 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] $ query = "Sett inn i priser (id, konsept, pris) VERDIER ($ data [0], '$ data [1]', '$ data [2]')"; [/ color]
[color = # 0000cd] mysql_query ($ query, $ connect); [/ color]
[color = # 0000cd] // slutten av mens loop [/ color]
[color = # 0000cd]} [/ color]
[color = # 0000cd]} [/ color]
[color = # 0000cd] // lukk filen [/ color]
[color = # 0000cd] fclose ($ csv); [/ color]
[color = # 0000cd] ekko "Importen ferdig !!"; [/ color]
[color = # 0000cd] mysql_close ($ connect); [/ color]
[color = # 0000cd]?> [/ color]
Du kan også bruke dette skriptet og gjøre det mer fleksibelt, slik at brukeren kan registrere filen i et html -skjema med
[color = # 0000cd] [/ color]
[color = # 0000cd] [/ color]
[color = # 0000cd] [/ color]
og dermed kunne laste opp CSV -filer og importere data fra den CSV -filen til en hvilken som helst mysql -database eller til og med flere fra en enkelt fil. Det er mange justeringer som kan gjøres med dette skriptet og bruke det på ønsket måte.

Den kan også brukes når mange brukere må laste opp informasjon til et nettsted, klienterklæringer eller kontoer, hver enkelt kan bruke programvaren som passer dem best og deretter laste dem opp i samme kompatible format for alle.Likte og hjalp du denne opplæringen?Du kan belønne forfatteren ved å trykke på denne knappen for å gi ham et positivt poeng

Du vil bidra til utvikling av området, dele siden med vennene dine

wave wave wave wave wave