Leçon N° 09 : Mysql première partie : introduction
Exemple d'importation d'un fichier texte vers mysql*
Notes de page
Source: lesson_09_data_load.phpRésultat
<?php
require ("../mysql_connexion/mysql_connexion.php");
require (
"../commons/functions.php");
//mysql_select_db($db) ;
/* Table des départements departements.csv
+-----------+-------+---------+---------+
|N° | département| nom     | tel     |
 1 ; Ain
 2 ; Aisne
 3 ; Allier 
+-----------+-------+---------+---------
*/
$tableName "atelierphp_exe_departements";
//si la table existait déjà on l'efface
(mySQLtable_exist($tableName)) ? drop_table($tableName) : print ("");
//---création de la table departements
$result mysqli_query($mysqli,"CREATE TABLE atelierphp_exe_departements 
    (DEPARTEMENT_ID INT not null, 
    DEPARTEMENT_NOM TINYBLOB , 
    PRIMARY KEY (DEPARTEMENT_ID) , INDEX (DEPARTEMENT_ID))"
) ; 
if (
$result == 1)
    {
        echo 
"table $tableName created<br/>";
    }
    else
    {
        echo 
"error creating the table $tableName<br/>";
    }
//-----------------------------------------------------------------
// on ouvre le fichier texte que l'on veut charger
$file_name "../exercises/departements.csv";
$myFile file($file_name);
// make sure the open was successful
if(!($myFile))
{
    print(
"Impossible d'ouvrir le fichier $file_name ");
    
//exit;
}        
// count($myfile) donne le nombre de lignes du fichier
for ($index=0$index count($myFile); $index++)
{
    
//on utilise les tokens pour séparer chaque morceau de ligne
    // ici le séparateur est le ; et in n'y a que deux champs
    // donc un 1ier token pour extraire le premier et un second
    //sans paramètre pour le second champ (autant de fois token que de champs)
    
$token_table[0]=strTok($myFile[$index],";");
    
$token_table[1]=strTok(";");

    
$departement_id $token_table[0];
    
//le addslashes set à cacher les apostrophes
    
$departement_nom addslashes(trim($token_table[1]));
    
    
//echo pour vérification
    
echo  stripslashes($departement_id)."*".stripslashes($departement_nom)."<br/>";
    
//chargement de la ligne dans la base
    
$result mysqli_query($mysqli,"INSERT INTO atelierphp_exe_departements 
    (DEPARTEMENT_ID,DEPARTEMENT_NOM) VALUES 
    ('
$departement_id','$departement_nom')");
                 if (
$result == 1)
                    {
                        echo 
stripslashes($departement_nom)."inséré <br/>";
                    }
                    else
                    {
                        echo 
"error inserting stripslashes($departement_nom) <br/>";
                    }
}
//lecture de la table pour vérification après le chargement complet
echo "***** CONTENU DE LA TABLE DEPARTEMENTS *****<br/>";
$result mysqli_query($mysqli,"select * from atelierphp_exe_departements ") ;
while(
$row mysqli_fetch_array($result))
{
    echo 
stripslashes($row['DEPARTEMENT_ID']."*".$row['DEPARTEMENT_NOM'])."<br/>";
}


Fichier : departements.csv
01; Ain
02; Aisne
03; Allier
04; Alpes de Haute Provence
05; Hautes-Alpes
06; Alpes-Maritimes
07; Ardèche
08; Ardennes
10; Aube
11; Aude
13; Bouches-du-Rhône
14; Calvados
15; Cantal
16; Charente
17; Charente-Maritime
18; Cher
19; Corrèze
20; Corse
21; Côte d'Or
22; Côtes d'Armor
23; Creuse
24; Dordogne
25; Doubs  
26; Drôme
27; Eure
28; Eure-et-Loir
29; Finistère
30; Gard
33; Gironde
34; Hérault
35; Ille-et-Vilaine
36; Indre
37; Indre-et-Loire
38; Isère
39; Jura
40; Landes
41; Loir-et-Cher
42; Loire
43; Haute-Loire
44; Loire-Atlantique
45; Loiret
47; Lot-et-Garonne
48; Lozère
49; Maine-et-Loire
50; Manche
51; Marne
52; Haute-Marne
53; Mayenne
54; Meurthe-et-Moselle
55; Meuse
56; Morbihan
57; Moselle
58; Nièvre
59; Nord
60; Oise
61; Orne
62; Pas-de-Calais
63; Puy-de-Dôme
64; Pyrénées-Atlantiques
66; Pyrénées-Orientales
67; Bas-Rhin
68; Haut-Rhin
69; Rhône
70; Haute-Saône
71; Saône-et-Loire
72; Sarthe
73; Savoie
74; Haute-Savoie
75; Ville de Paris
76; Seine-Maritime
77; Seine-et-Marne
78; Yvelines
79; Deux-Sèvres
80; Somme
83; Var
84; Vaucluse
85; Vendée
86; Vienne
87; Haute-Vienne
88; Vosges
89; Yonne
90; Territoire de Belfort
91; Essonne
92; Hauts-de-Seine
93; Seine Saint-Denis
94; Val-de-Marne
95; Val d'Oise

Fichier : connect_to_db.php
<?php
//ceci est un fichier fictif, 
//la vrai connection est déjà
//faite par ailleur
/*
$host     = "";   // nom du serveur : localhost, sql5, ...
$user     = "";   // nom d'utilisateur (root si en local)
$pass     = "";   // mot de passe 
$db       = "";   // nom de la base de données mySQL
$dblink  = mysql_connect($host,$user,$pass); 
//mysql_select_db($db);                       
*/
?>

Fichier : functions.php
<?php
// Pour savoir si une table existe
function mySQLtable_exist($tableName)
{
    
$query "SELECT COUNT(*) FROM $tableName";
    
$result mysqli_query($mysqli,$query);
    
$num_rows = @mysqli_num_rows($result);
    if(
$num_rows)
    {
        echo 
"<small>La table existait déjà <br/>";
        return 
TRUE;
    }
    else
    {
       echo 
"<small>La table n'existait pas <br/>";
        return 
FALSE;
    }
}
// Supprime une table avec message approprié
//attention $tableName et non $table_name
function drop_table($tableName)
{
    echo 
"Efface table ".$tableName."<br/>";
    
$result mysqli_query($mysqli,"DROP TABLE $tableName") ;
    if (
$result == 1)
    {
        echo 
"Table effacée <br/>";
    }
    else
    {
        echo 
"Erreur en effaçant the table<br/>";
    }
}    
// Insère un enregistrement dans une table
function insert_a_row_1
    
($table_name$field_name_1$field_name_2
    
$field_1$field_2)
{
 
$result mysqli_query($mysqli,"INSERT INTO $table_name 
     (
$field_name_1,$field_name_2
    VALUES ('
$field_1','$field_2')");
 if (
$result == 1)
     {
     echo 
"valeur $field_2 insérée dans $field_name_2
    <br/>"
;
     }
     else
     {
         echo 
"erreur lors de l'insersion $field_2 
        dans la table 
$table_name <br/>";
     }
}
function 
insert_a_row_2
    
($table_name$field_name_1$field_name_2
    
$field_name_3$field_1$field_2$field_3)
{
 
$result mysqli_query($mysqli,"INSERT INTO $table_name 
     (
$field_name_1,$field_name_2,$field_name_3
    VALUES ('
$field_1','$field_2','$field_3')");
 if (
$result == 1)
     {
     echo 
"value $field_2 inserted in $field_name_2 
    <br/>"
;
     }
     else
     {
         echo 
"error inserting $field_2 in the table 
        
$table_name <br/>";
     }
}
//lecture d'une table
function readTable 
    
($tableName,$field_1,$field_2="",$field_3="",
    
$field_4="",$field_5="")
{
    echo 
"Lecture de la table $tableName :";
    echo 
    
"<table border=1><tr><th>$field_1
    </th><th>
$field_2</th>
    <th>
$field_3</th><th>$field_4</th>
    <th>
$field_5</th></tr>";
    
$result=mysqli_query($mysqli,"select * from  $tableName ");
    
$fields mysqli_num_fields($result);
    while (
$row=mysqli_fetch_array($result))
    {
        echo 
"<tr>";
           for(
$i=0;$i<$fields;$i++)
           {
            echo 
"<td>$row[$i]</td>";
        }
        echo 
"</tr>";
    }
    echo 
"</table>";
}
?>
        
La table existait déjà
Efface table atelierphp_exe_departements
Table effacée
table atelierphp_exe_departements created
01*Ain
Aininséré
02*Aisne
Aisneinséré
03*Allier
Allierinséré
04*Alpes de Haute Provence
Alpes de Haute Provenceinséré
05*Hautes-Alpes
Hautes-Alpesinséré
06*Alpes-Maritimes
Alpes-Maritimesinséré
07*Ardèche
Ardècheinséré
08*Ardennes
Ardennesinséré
10*Aube
Aubeinséré
11*Aude
Audeinséré
13*Bouches-du-Rhône
Bouches-du-Rhôneinséré
14*Calvados
Calvadosinséré
15*Cantal
Cantalinséré
16*Charente
Charenteinséré
17*Charente-Maritime
Charente-Maritimeinséré
18*Cher
Cherinséré
19*Corrèze
Corrèzeinséré
20*Corse
Corseinséré
21*Côte d'Or
Côte d'Orinséré
22*Côtes d'Armor
Côtes d'Armorinséré
23*Creuse
Creuseinséré
24*Dordogne
Dordogneinséré
25*Doubs 
Doubs inséré
26*Drôme
Drômeinséré
27*Eure
Eureinséré
28*Eure-et-Loir
Eure-et-Loirinséré
29*Finistère
Finistèreinséré
30*Gard
Gardinséré
33*Gironde
Girondeinséré
34*Hérault
Héraultinséré
35*Ille-et-Vilaine
Ille-et-Vilaineinséré
36*Indre
Indreinséré
37*Indre-et-Loire
Indre-et-Loireinséré
38*Isère
Isèreinséré
39*Jura
Jurainséré
40*Landes
Landesinséré
41*Loir-et-Cher
Loir-et-Cherinséré
42*Loire
Loireinséré
43*Haute-Loire
Haute-Loireinséré
44*Loire-Atlantique
Loire-Atlantiqueinséré
45*Loiret
Loiretinséré
47*Lot-et-Garonne
Lot-et-Garonneinséré
48*Lozère
Lozèreinséré
49*Maine-et-Loire
Maine-et-Loireinséré
50*Manche
Mancheinséré
51*Marne
Marneinséré
52*Haute-Marne
Haute-Marneinséré
53*Mayenne
Mayenneinséré
54*Meurthe-et-Moselle
Meurthe-et-Moselleinséré
55*Meuse
Meuseinséré
56*Morbihan
Morbihaninséré
57*Moselle
Moselleinséré
58*Nièvre
Nièvreinséré
59*Nord
Nordinséré
60*Oise
Oiseinséré
61*Orne
Orneinséré
62*Pas-de-Calais
Pas-de-Calaisinséré
63*Puy-de-Dôme
Puy-de-Dômeinséré
64*Pyrénées-Atlantiques
Pyrénées-Atlantiquesinséré
66*Pyrénées-Orientales
Pyrénées-Orientalesinséré
67*Bas-Rhin
Bas-Rhininséré
68*Haut-Rhin
Haut-Rhininséré
69*Rhône
Rhôneinséré
70*Haute-Saône
Haute-Saôneinséré
71*Saône-et-Loire
Saône-et-Loireinséré
72*Sarthe
Sartheinséré
73*Savoie
Savoieinséré
74*Haute-Savoie
Haute-Savoieinséré
75*Ville de Paris
Ville de Parisinséré
76*Seine-Maritime
Seine-Maritimeinséré
77*Seine-et-Marne
Seine-et-Marneinséré
78*Yvelines
Yvelinesinséré
79*Deux-Sèvres
Deux-Sèvresinséré
80*Somme
Sommeinséré
83*Var
Varinséré
84*Vaucluse
Vaucluseinséré
85*Vendée
Vendéeinséré
86*Vienne
Vienneinséré
87*Haute-Vienne
Haute-Vienneinséré
88*Vosges
Vosgesinséré
89*Yonne
Yonneinséré
90*Territoire de Belfort
Territoire de Belfortinséré
91*Essonne
Essonneinséré
92*Hauts-de-Seine
Hauts-de-Seineinséré
93*Seine Saint-Denis
Seine Saint-Denisinséré
94*Val-de-Marne
Val-de-Marneinséré
95*Val d'Oise
Val d'Oiseinséré
***** CONTENU DE LA TABLE DEPARTEMENTS *****
1*Ain
2*Aisne
3*Allier
4*Alpes de Haute Provence
5*Hautes-Alpes
6*Alpes-Maritimes
7*Ardèche
8*Ardennes
10*Aube
11*Aude
13*Bouches-du-Rhône
14*Calvados
15*Cantal
16*Charente
17*Charente-Maritime
18*Cher
19*Corrèze
20*Corse
21*Côte d'Or
22*Côtes d'Armor
23*Creuse
24*Dordogne
25*Doubs 
26*Drôme
27*Eure
28*Eure-et-Loir
29*Finistère
30*Gard
33*Gironde
34*Hérault
35*Ille-et-Vilaine
36*Indre
37*Indre-et-Loire
38*Isère
39*Jura
40*Landes
41*Loir-et-Cher
42*Loire
43*Haute-Loire
44*Loire-Atlantique
45*Loiret
47*Lot-et-Garonne
48*Lozère
49*Maine-et-Loire
50*Manche
51*Marne
52*Haute-Marne
53*Mayenne
54*Meurthe-et-Moselle
55*Meuse
56*Morbihan
57*Moselle
58*Nièvre
59*Nord
60*Oise
61*Orne
62*Pas-de-Calais
63*Puy-de-Dôme
64*Pyrénées-Atlantiques
66*Pyrénées-Orientales
67*Bas-Rhin
68*Haut-Rhin
69*Rhône
70*Haute-Saône
71*Saône-et-Loire
72*Sarthe
73*Savoie
74*Haute-Savoie
75*Ville de Paris
76*Seine-Maritime
77*Seine-et-Marne
78*Yvelines
79*Deux-Sèvres
80*Somme
83*Var
84*Vaucluse
85*Vendée
86*Vienne
87*Haute-Vienne
88*Vosges
89*Yonne
90*Territoire de Belfort
91*Essonne
92*Hauts-de-Seine
93*Seine Saint-Denis
94*Val-de-Marne
95*Val d'Oise

Tous droits réservés. 2005-2020