Turinys
Kai kuriems žiniatinklio projektams reikia tvarkyti didelius duomenų sąrašus, pvz., Produktų, pardavimų, naudotojų ir naujienų sąrašus.Daugeliui žmonių lengviau turėti šiuos duomenis neprisijungus prie skaičiuoklės.
Šios mokymo programos tikslas yra sugebėti importuoti nepriklausomai nuo programos, nesvarbu, ar tai būtų „Excel“, ar „Libreoffice“, ar kita vartotojui prieinama parinktis.
Sukūrę „MySQL“ duomenų bazę, turite ją užpildyti informacija. Duomenų bazės duomenys paprastai yra kableliais riboto failo arba CSV formato, todėl juos reikia importuoti į „MySQL“ duomenų bazę. Tai labai paprasta užduotis naudojant PHP integruotas funkcijas, kurios palengvina importavimą iš CSV failo ir eksportavimą į „MySQL“ duomenų bazę.
Šiuo atveju turime paslaugų ir kompiuterių dalių kainoraštį.
[color = # 0000cd] KURTI LENTELĘ, JEI NĖRA „kainų“ ([/ color]
[color = # 0000cd] `id` int (10) NOT NULL AUTO_INCREMENT, [/ spalva]
[color = # 0000cd] `concept` varchar (255) Numatytasis NULL, [/ spalva]
[color = # 0000cd] `price` dešimtainis (10,2) Numatytasis NULL, [/ spalva]
[spalva = # 0000cd] PAGRINDINIS RAKTAS („id“) [/ spalva]
[color = # 0000cd]) VARIKLIS = „MyISAM DEFAULT CHARSET“ = utf8 AUTO_INCREMENT = 1; [/ spalva]
Dabar php kodas, kuris atlieka visą darbą
[spalva = # 0000cd] <? // prisijungiame prie duomenų bazės [/ color]
[color = # 0000cd] $ connect = mysql_connect ('localhost', 'user', 'password'); [/ color]
[color = # 0000cd] jei (! $ connect) {[/ color]
[color = # 0000cd] die ('Nepavyksta prisijungti prie MySQL:'. mysql_error ()); [/ color]
[spalva = # 0000cd]} [/ spalva]
[color = # 0000cd] $ connectdb = mysql_select_db („Paslaugos“, $ connect); [/ color]
[color = # 0000cd] // Įkeliame csv failą, gautą iš formos [/ color]
[color = # 0000cd] move_uploaded_file ($ _ FILES ["file"] ["tmp_name"], $ upload_dir. "/". $ FILES ["file"] ["tmp_name"]); [/ color]
[spalva = # 0000cd] $ cvs = $ upload_dir. "/". $ _FILES ["failas"] ["pavadinimas"]; [/ spalva]
[color = # 0000cd] // eilutėje bus skaičiuojamas eilučių skaičius faile prasideda nuo 0 [/ color]
[color = # 0000cd] $ row = 0; [/ color]
[spalva = # 0000cd] $ fp = fopen ($ cvs. "", "r"); [/ color]
[color = # 0000cd] o (! feof ($ fp)) {// Skaitau failą viena eilute po vieną [/ color]
[color = # 0000cd] $ row ++; [/ color]
[color = # 0000cd] // Praleidžiu pirmąją eilutę, nes jos pavadinimai ir man neįdomu juos įterpti į duomenų bazę [/ color]
[spalva = # 0000cd], jei ($ eilutė> 1) {[/ spalva]
[color = # 0000cd] // Eilutė, kurią perskaičiau, atskiriu ją sprogdindama ir nurodau, kad ją skiria; [/ color]
[color = # 0000cd] $ data = sprogti (";", fgets ($ fp)); [/ color]
[color = # 0000cd] $ id = $ data [0]; [/ spalva]
[color = # 0000cd] $ concept = $ data [1]; [/ spalva]
[color = # 0000cd] $ price = $ data [2]; [/ spalva]
[color = # 0000cd] $ query = "INSERT INTO kainas (id, koncepcija, kaina) VALUES ($ data [0], '$ data [1]', '$ data [2]')"; [/ color]
[color = # 0000cd] mysql_query ($ query, $ connect); [/ color]
[color = # 0000cd] // ciklo pabaiga [/ spalva]
[spalva = # 0000cd]} [/ spalva]
[spalva = # 0000cd]} [/ spalva]
[color = # 0000cd] // uždaryti failą [/ color]
[color = # 0000cd] fclose ($ csv); [/ color]
[color = # 0000cd] echo "Importavimas baigtas !!"; [/ color]
[spalva = # 0000cd] mysql_close ($ connect); [/ color]
[color = # 0000cd]?> [/ spalva]
Taip pat galite naudoti šį scenarijų ir padaryti jį lankstesnį, leidžiant vartotojui užregistruoti failą html formoje
[spalva = # 0000cd] [/ spalva]
[spalva = # 0000cd] [/ spalva]
[spalva = # 0000cd] [/ spalva]
ir tokiu būdu galėsite įkelti CSV failus ir importuoti duomenis iš to CSV failo į bet kurią „mysql“ duomenų bazę arba net į kelias iš vieno failo. Yra daug koregavimų, kuriuos galima atlikti naudojant šį scenarijų ir naudoti jį norimu būdu.