Importer un fichier d'un modèle de calcul vers Mysql avec php

Table des matières
Certains projets Web nécessitent la gestion de listes de données volumineuses telles que des listes de produits, de ventes, d'utilisateurs et d'actualités.
De nombreuses personnes trouvent plus facile d'avoir ces données hors ligne dans une feuille de calcul.
L'objectif de ce tutoriel est de pouvoir effectuer l'import quel que soit le programme, qu'il s'agisse d'Excel ou de Libreoffice ou d'une autre option disponible pour l'utilisateur.
Après avoir créé une base de données MySQL, vous devez la remplir d'informations. Les données de la base de données sont généralement contenues dans un fichier limité par des virgules, ou CSV, et doivent être importées dans la base de données MySQL. Il s'agit d'une tâche très simple utilisant les fonctions intégrées de PHP qui facilitent l'importation à partir d'un fichier CSV et son exportation vers une base de données MySQL.
Dans ce cas, nous avons une liste de prix de service et de pièces d'ordinateur.

Maintenant, quels que soient la feuille de calcul et le système d'exploitation sur lequel nous travaillons, nous rechercherons l'option d'exporter au format texte csv séparé par des points-virgules; Cela générera un simple fichier texte où les colonnes seront remplacées par; et nous pouvons le lire à partir de n'importe quelle plate-forme ou langue.

Nous allons maintenant créer dans une base de données mysql, supposer des services et créer des prix où nous ajouterons les informations du fichier csv
[couleur = # 0000cd] CRÉER TABLE S'IL N'EXISTE PAS `prix` ([/ couleur]
[color = # 0000cd] `id` int (10) NON NULL AUTO_INCREMENT, [/ color]
[couleur = # 0000cd] `concept` varchar (255) DEFAUT NULL, [/ couleur]
[couleur = # 0000cd] `prix` décimal (10,2) DEFAUT NULL, [/ couleur]
[couleur = # 0000cd] CLÉ PRIMAIRE (`id`) [/ couleur]
[color = # 0000cd]) ENGINE = MyISAM DEFAULT CHARSET = utf8 AUTO_INCREMENT = 1; [/ color]
Maintenant le code php qui fait tout le travail
[couleur = #0000cd] <? // on se connecte à la base de données [/ color]
[color = # 0000cd] $ connect = mysql_connect ('localhost', 'user', 'password'); [/ color]
[couleur = # 0000cd] si (! $ connect) {[/ couleur]
[color = # 0000cd] die ('Impossible de se connecter à MySQL :'. mysql_error ()); [/ color]
[couleur = #0000cd]} [/couleur]
[color = # 0000cd] $ connectdb = mysql_select_db ('Services', $ connect); [/ color]
[color = #0000cd] // On upload le fichier csv qui vient du formulaire [/ color]
[color = # 0000cd] move_uploaded_file ($ _ FILES ["file"] ["tmp_name"], $ upload_dir. "/". $ FILES ["file"] ["tmp_name"]); [/ color]
[couleur = # 0000cd] $ cvs = $ upload_dir. "/". $ _FILES ["fichier"] ["nom"]; [/ couleur]
[color = # 0000cd] // row comptera le nombre de lignes dans le fichier commence à 0 [/ color]
[couleur = # 0000cd] $ ligne = 0; [/ couleur]
[color = # 0000cd] $ fp = fopen ($ cvs. "", "r"); [/ color]
[color = # 0000cd] while (! feof ($ fp)) {// je lis le fichier une ligne à la fois [/ color]
[couleur = # 0000cd] $ ligne ++; [/ couleur]
[color = # 0000cd] // Je saute la première ligne car elle contient les titres et je ne suis pas intéressé à les insérer dans la base de données [/ color]
[couleur = # 0000cd] si ($ ligne> 1) {[/ couleur]
[color = # 0000cd] // La ligne que je lis je la sépare avec explose et j'indique qu'elle est séparée par; [/ color]
[color = # 0000cd] $ data = exploser (";", fgets ($ fp)); [/ color]
[couleur = # 0000cd] $ id = $ données [0]; [/ couleur]
[couleur = # 0000cd] $ concept = $ données [1]; [/ couleur]
[couleur = # 0000cd] $ prix = $ données [2]; [/ couleur]
[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] // fin de la boucle while [/ color]
[couleur = #0000cd]} [/couleur]
[couleur = #0000cd]} [/couleur]
[color = #0000cd] // fermer le fichier [/ color]
[couleur = # 0000cd] fclose ($ csv); [/ couleur]
[color = # 0000cd] echo "Import terminé !!!"; [/ color]
[color = # 0000cd] mysql_close ($ connect); [/ color]
[couleur = #0000cd]?> [/couleur]
Vous pouvez également utiliser ce script et le rendre plus flexible, permettant à l'utilisateur d'enregistrer le fichier dans un formulaire html avec
[couleur = #0000cd] [/couleur]
[couleur = #0000cd] [/couleur]
[couleur = #0000cd] [/couleur]
et ainsi pouvoir télécharger des fichiers CSV et importer des données de ce fichier CSV vers n'importe quelle base de données mysql ou même vers plusieurs à partir d'un seul fichier. De nombreux ajustements peuvent être effectués avec ce script et l'utiliser de la manière souhaitée.

Il peut également être utilisé lorsque de nombreux utilisateurs doivent télécharger des informations sur un site Web, des relevés de clients ou des comptes, chacun peut utiliser le logiciel qui lui convient le mieux, puis les télécharger tous dans le même format compatible pour tous.Avez-vous aimé et aidé ce tutoriel ?Vous pouvez récompenser l'auteur en appuyant sur ce bouton pour lui donner un point positif

Vous contribuerez au développement du site, partager la page avec vos amis

wave wave wave wave wave