Cuprins
Unele proiecte web necesită gestionarea listelor mari de date, cum ar fi listele de produse, vânzări, utilizatori și știri.Mulți oameni consideră că este mai ușor să aibă aceste date offline într-o foaie de calcul.
Obiectivul acestui tutorial este de a putea efectua importul indiferent de program, indiferent dacă este Excel sau Libreoffice sau o altă opțiune disponibilă pentru utilizator.
După crearea unei baze de date MySQL, trebuie să o completați cu informații. Datele bazei de date sunt de obicei conținute într-un fișier cu virgulă limitată sau CSV și trebuie importate în baza de date MySQL. Aceasta este o sarcină foarte simplă folosind funcțiile încorporate ale PHP care facilitează importul dintr-un fișier CSV și exportul acestuia într-o bază de date MySQL.
În acest caz, avem o listă de prețuri pentru service și piese de calculator.
[color = # 0000cd] CREAȚI TABEL DACĂ NU EXISTĂ `prețuri` ([/ color]
[color = # 0000cd] `id` int (10) NOT NULL AUTO_INCREMENT, [/ color]
[color = # 0000cd] `concept` varchar (255) DEFAULT NULL, [/ color]
[color = # 0000cd] `price` zecimal (10,2) DEFAULT NULL, [/ color]
[color = # 0000cd] CHEIE PRIMARĂ („id”) [/ color]
[color = # 0000cd]) MOTOR = MyISAM DEFAULT CHARSET = utf8 AUTO_INCREMENT = 1; [/ color]
Acum, codul PHP care face toată treaba
[color = # 0000cd] <? // ne conectăm la baza de date [/ color]
[color = # 0000cd] $ connect = mysql_connect ('localhost', 'user', 'password'); [/ color]
[color = # 0000cd] if (! $ connect) {[/ color]
[color = # 0000cd] die ('Nu se poate conecta la MySQL:'. mysql_error ()); [/ color]
[color = # 0000cd]} [/ color]
[color = # 0000cd] $ connectdb = mysql_select_db („Servicii”, $ connect); [/ color]
[color = # 0000cd] // Încărcăm fișierul CSV care provine din formularul [/ 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] // rândul va conta numărul de rânduri din fișierul începe de la 0 [/ color]
[color = # 0000cd] $ row = 0; [/ color]
[color = # 0000cd] $ fp = fopen ($ cvs. "", "r"); [/ color]
[color = # 0000cd] while (! feof ($ fp)) {// Am citit fișierul rând pe rând [/ color]
[color = # 0000cd] $ rând ++; [/ color]
[color = # 0000cd] // Omit primul rând, deoarece are titlurile și nu mă interesează să le introduc în baza de date [/ color]
[color = # 0000cd] if ($ rând> 1) {[/ color]
[color = # 0000cd] // Linia pe care am citit-o o separ cu explodare și indic faptul că este separată de; [/ color]
[color = # 0000cd] $ data = explode (";", fgets ($ fp)); [/ color]
[color = # 0000cd] $ id = $ data [0]; [/ color]
[color = # 0000cd] $ concept = $ data [1]; [/ color]
[color = # 0000cd] $ price = $ data [2]; [/ color]
[color = # 0000cd] $ query = "INSERT INTO prices (id, concept, price) VALUES ($ data [0], '$ data [1]', '$ data [2]')"; [/ color]
[color = # 0000cd] mysql_query ($ interogare, $ conectare); [/ color]
[color = # 0000cd] // sfârșitul buclei while [/ color]
[color = # 0000cd]} [/ color]
[color = # 0000cd]} [/ color]
[color = # 0000cd] // închideți fișierul [/ color]
[color = # 0000cd] fclose ($ csv); [/ color]
[color = # 0000cd] echo "Import finalizat!"; [/ color]
[color = # 0000cd] mysql_close ($ connect); [/ color]
[color = # 0000cd]?> [/ color]
De asemenea, puteți utiliza acest script și îl puteți face mai flexibil, permițând utilizatorului să înregistreze fișierul într-un formular html cu
[color = # 0000cd] [/ color]
[color = # 0000cd] [/ color]
[color = # 0000cd] [/ color]
și astfel să puteți încărca fișiere CSV și să importați date din acel fișier CSV în orice bază de date mysql sau chiar în mai multe dintr-un singur fișier. Există multe ajustări care pot fi făcute cu acest script și îl pot folosi în modul dorit.