Importa un file da un modello di calcolo in Mysql con php

Sommario
Alcuni progetti Web richiedono la gestione di elenchi di dati di grandi dimensioni come elenchi di prodotti, vendite, utenti e notizie.
Molte persone trovano più facile avere questi dati offline in un foglio di calcolo.
L'obiettivo di questo tutorial è quello di poter eseguire l'importazione indipendentemente dal programma, che sia Excel o Libreoffice o un'altra opzione disponibile per l'utente.
Dopo aver creato un database MySQL, è necessario popolarlo con le informazioni. I dati del database sono generalmente contenuti in un file con limitazioni di virgole, o CSV, e devono essere importati nel database MySQL. Questo è un compito molto semplice che utilizza le funzioni integrate di PHP che semplificano l'importazione da un file CSV e l'esportazione in un database MySQL.
In questo caso abbiamo un listino prezzi di assistenza e ricambi per computer.

Ora, indipendentemente dal foglio di calcolo e dal sistema operativo su cui stiamo lavorando, cercheremo l'opzione per esportare in formato testo csv separato da punto e virgola; Questo genererà un semplice file di testo in cui le colonne verranno sostituite da; e possiamo leggerlo da qualsiasi piattaforma o lingua.

Ora creeremo in un database mysql, supponiamo Servizi e creeremo prezzi in cui aggiungeremo le informazioni dal file csv
[color = # 0000cd] CREA TABELLA SE NON ESISTE `prezzi` ([/ color]
[color = # 0000cd] `id` int (10) NOT NULL AUTO_INCREMENT, [/ color]
[color = # 0000cd] `concept` varchar (255) DEFAULT NULL, [/ color]
[color = # 0000cd] `price` decimal (10,2) DEFAULT NULL, [/ color]
[color = # 0000cd] CHIAVE PRIMARIA (`id`) [/ color]
[color = # 0000cd]) ENGINE = MyISAM DEFAULT CHARSET = utf8 AUTO_INCREMENT = 1; [/ color]
Ora il codice php che fa tutto il lavoro
[colore = # 0000cd] <? // ci colleghiamo al database [/ color]
[color = # 0000cd] $ connect = mysql_connect ('localhost', 'user', 'password'); [/ color]
[color = # 0000cd] if (! $ connect) {[/ color]
[color = # 0000cd] die ('Impossibile connettersi a MySQL:'. mysql_error ()); [/ color]
[colore = # 0000cd]} [/ colore]
[color = # 0000cd] $ connectdb = mysql_select_db ('Services', $ connect); [/ color]
[color = # 0000cd] // Carichiamo il file csv che proviene dal form [/ color]
[color = # 0000cd] move_uploaded_file ($ _ FILES ["file"] ["tmp_name"], $ upload_dir. "/". $ FILES ["file"] ["tmp_name"]); [/ color]
[colore = # 0000cd] $ cvs = $ upload_dir. "/". $ _FILES ["file"] ["nome"]; [/ colore]
[color = # 0000cd] // row conterà il numero di righe nel file inizia da 0 [/ color]
[colore = # 0000cd] $ riga = 0; [/ colore]
[color = # 0000cd] $ fp = fopen ($ cvs. "", "r"); [/ color]
[color = # 0000cd] while (! feof ($ fp)) {// ho letto il file una riga alla volta [/ color]
[colore = # 0000cd] $ riga ++; [/ colore]
[color = # 0000cd] // Salto la prima riga poiché ha i titoli e non mi interessa inserirli nel database [/ color]
[color = # 0000cd] if ($ row> 1) {[/ color]
[color = # 0000cd] // La riga che leggo la separo con esplodi e indico che è separata da; [/ color]
[color = # 0000cd] $ data = esplode (";", fgets ($ fp)); [/ color]
[colore = # 0000cd] $ id = $ dati [0]; [/ colore]
[colore = # 0000cd] $ concetto = $ dati [1]; [/ colore]
[colore = # 0000cd] $ prezzo = $ dati [2]; [/ colore]
[color = # 0000cd] $ query = "INSERT INTO price (id, concept, price) VALUES ($ data [0], '$ data [1]', '$ data [2]')"; [/ color]
[color = # 0000cd] mysql_query ($ query, $ connect); [/ color]
[color = # 0000cd] // fine del ciclo while [/ color]
[colore = # 0000cd]} [/ colore]
[colore = # 0000cd]} [/ colore]
[color = # 0000cd] // chiudi il file [/ color]
[color = # 0000cd] fclose ($ csv); [/ color]
[color = # 0000cd] echo "Importazione terminata!!"; [/ color]
[color = # 0000cd] mysql_close ($ connect); [/ color]
[colore = # 0000cd]?> [/ colore]
Puoi anche utilizzare questo script e renderlo più flessibile, consentendo all'utente di registrare il file in un modulo html con
[colore = # 0000cd] [/ colore]
[colore = # 0000cd] [/ colore]
[colore = # 0000cd] [/ colore]
e quindi essere in grado di caricare file CSV e importare dati da quel file CSV a qualsiasi database mysql o anche a diversi da un singolo file. Ci sono molte modifiche che possono essere fatte con questo script e utilizzarlo nel modo desiderato.

Può essere utilizzato anche quando molti utenti devono caricare informazioni su un sito Web, estratti conto o conti dei clienti, ognuno può utilizzare il software più adatto a loro e quindi caricarli tutti nello stesso formato compatibile per tutti.Ti è piaciuto e hai aiutato questo Tutorial?Puoi premiare l'autore premendo questo pulsante per dargli un punto positivo

Aiuterete lo sviluppo del sito, condividere la pagina con i tuoi amici

wave wave wave wave wave