Leçon N° 09 : Mysql première partie : introduction
Exemple d'exportation d'une table mysql vers un fichier texte*
Notes de page
Source: lesson_09_data_unload.phpRésultat
<?php
require ("../mysql_connexion/mysql_connexion.php");
require (
"../commons/functions.php");
//on commence par supprimer le fichier des départements
unlink("departements.txt");
echo 
"Fichier des départements supprimé<br />";
//mysql_select_db($db) ;
$table_to_save "atelierphp_exe_departements";
$departement_file_name "departements.txt";
//création et ouverture du fichier en écriture
touch("departements.txt");
$departement_file fopen("departements.txt""w");
if (!(
$departement_file))
{
    print (
"Impossible d'ouvrir le fichier");
}
else
{
  echo 
"Fichier des départements créé et ouvert <br />";
    
//lecture de la table
    
echo "Chargement du fichier <br />";
    
$header "";
    
$result mysqli_query($mysqli,"select * from  $table_to_save ");   
    if(
$result)
    {
      
$i=0;
      
//on charge le nom des champs dans $my_field_name
      
$fields mysqli_fetch_fields($result);
      foreach(
$fields as $fi => $f
      {
            
$my_field_name[$i]=$f->name;
            echo 
$my_field_name[$i]."<br />";
            
$i++;
      }
    }
    
//nombre de colonnes de la table
    
$fields mysqli_num_fields($result);
    
//pour chaque ligne de la table
    
while ($row=mysqli_fetch_array($result))
    {
        
//pour chaque champ
        
for($i=0;$i<$fields;$i++)
        {        
            
//avec strip slashes on retire les antislash qui cachaient les apostrohes
            
$value_to_print=stripslashes($row[$my_field_name[$i]]);
            
//on écrite dans le fichier texte ouvert ci-dessus
            
fputs($departement_file,$value_to_print.";");
        }
        
//fin de ligne après avoir ecrit chaque champ séparé par ;
        
fputs($departement_file,"\n <br />");
    }
    
//message de fin
    
echo "la table $departement_file_name tranférée 
  dans le fichier 
$table_to_save<br/>" ;
}      
fclose($departement_file);
$departement_file fopen("departements.txt""r");
echo 
"<p></p>Contenu du fichier issu de la table :<br />";
$taille_fichier filesize("departements.txt"); 
$contenu_fichier fread($departement_file,$taille_fichier);
echo 
$contenu_fichier ;
?>

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>";
}
?>
        
Fichier des départements supprimé
Fichier des départements créé et ouvert
Chargement du fichier
DEPARTEMENT_ID
DEPARTEMENT_NOM
la table departements.txt tranférée dans le fichier atelierphp_exe_departements

Contenu du fichier issu de la table :
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