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.
[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.