Solution de l'exercice :

Source : lesson_09_d1_create_table_departements.php Résultat
<?php 
//Connexion à la base de données
require ("../mysql_connexion/mysql_connexion.php");
$tableName "atelierphp_sol_departements_prefecture"
(
mySQLtable_exist($tableName))?drop_table($tableName):print (""); 
//---------------------------------------------------------------- 
$result mysqli_query($mysqli,"CREATE TABLE $tableName 
    (`departement_code` INT NOT NULL , 
    `departement_nom` TINYTEXT NOT NULL , 
    `departement_prefecture` TINYTEXT NOT NULL , 
    `departement_region` TINYTEXT NOT NULL , 
     UNIQUE (`departement_code` ) )"
); 
//on va charger les noms des départements
$departement=array(1=>'Ain','Aisne','Allier',
'Alpes de Haute Provence',
'Hautes-Alpes','Alpes-Maritimes',
'Ardèche','Ardennes','Ariège',
'Aube','Aude','Aveyron',
'Bouches-du-Rhône','Calvados',
'Cantal','Charente','Charente-Maritime',
'Cher','Corrèze','Corse',
"Côte d'Or","Côtes d'Armor",
'Creuse','Dordogne',
'Doubs','Drôme','Eure',
'Eure-et-Loire','Finistère',
'Gard','Haute-Garonne',
'Gers','Gironde','Hérault',
'Ille-et-Vilaine','Indre',
'Indre-et-Loire','Isère',
'Jura','Landes','Loir-et-Cher',
'Loire','Haute-Loire',
'Loire-Atlantique','Loiret','Lot',
'Lot-et-Garonne','Lozère',
'Maine-et-Loire','Manche','Marne',
'Haute-Marne','Mayenne',
'Meurthe-et-Moselle','Meuse','Morbihan',
'Moselle','Nièvre','Nord','Oise','Orne',
'Pas-de-Calais','Puy-de-Dôme',
'Pyrénées-Atlantiques','Hautes-Pyrénées',
'Pyrénées-Orientales','Bas-Rhin',
'Haut-Rhin','Rhône','Haute-Saône',
'Saône-et-Loire','Sarthe','Savoie',
'Haute-Savoie','Ville de Paris',
'Seine-Maritime','Seine-et-Marne',
'Yvelines','Deux-Sèvres','Somme',
'Tarn','Tar-et-Garonne',
'Var','Vaucluse','Vendée','Vienne',
'Haute-Vienne','Vosges','Yonne',
'Territoire de Belfort','Essonne',
'Hauts-de-Seine','Seine Saint-Denis',
'Val-de-Marne',"Val d'Oise");
//
charge_préfectures();
charge_régions();


foreach(
$departement as $key => $valeur)
{
    
//le addslashes suivant permet de mettre des apostrophes dans les données
    
$préfectureDépartement addslashes($préfecture[$key]);
    
$régionDépartement addslashes($région[$key]);
    
$valeur addslashes($valeur);
    
$result mysqli_query($mysqli,"INSERT INTO $tableName
    (departement_code, departement_nom, 
        departement_prefecture, departement_region) 
    VALUES ('
$key','$valeur', '$préfectureDépartement', 
        '
$régionDépartement')");
    (
$result == 1)? 
    print(
"$key $valeur -- $préfectureDépartement ** $régionDépartement<br/>"):
    print(
"erreur dans l'insertion<br/>"); 
}
 
//*****************************************F O N C T I O N S ****     
// Pour savoir si une table existe
function mySQLtable_exist($tableName)
{
    global 
$mysqli;
    require_once(
"../mysql_connexion/mysql_connexion.php");
    
$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)
{
    global 
$mysqli;
    require_once(
"../mysql_connexion/mysql_connexion.php");
    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/>";
    }
}    
function 
charge_préfectures()
{
    global 
$mysqli;
    require_once(
"../mysql_connexion/mysql_connexion.php");
    global 
$préfecture ;
    
$préfecture['1'] = 'Bourg-en-Bresse'
    
$préfecture['2'] = 'Laon';  
    
$préfecture['3'] = 'Moulins'
    
$préfecture['4'] = 'Digne'
    
$préfecture['5'] = 'Gap'
    
$préfecture['6'] = 'Nice'
    
$préfecture['7'] = 'Privas'
    
$préfecture['8'] = 'Charleville-Mézières'
    
$préfecture['9'] = 'Foix'
    
$préfecture['10'] = 'Troyes'
    
$préfecture['11'] = 'Carcassonne'
    
$préfecture['12'] = 'Rodez'
    
$préfecture['13'] = 'Marseille'
    
$préfecture['14'] = 'Caen'
    
$préfecture['15'] = 'Aurillac'
    
$préfecture['16'] = 'Angoulême'
    
$préfecture['17'] = 'La Rochelle'
    
$préfecture['18'] = 'Bourges'
    
$préfecture['19'] = 'Tulle'
    
$préfecture['20'] = 'Ajaccio'
    
$préfecture['2A'] = 'Ajaccio'
    
$préfecture['2B'] = 'Bastia';
    
$préfecture['21'] = 'Dijon';
    
$préfecture['22'] = 'Saint-Brieuc';
    
$préfecture['23'] = 'Guéret';
    
$préfecture['24'] = 'Périgueux';
    
$préfecture['25'] = 'Besançon';
    
$préfecture['26'] = 'Valence';
    
$préfecture['27'] = 'Évreux';
    
$préfecture['28'] = 'Chartres';
    
$préfecture['29'] = 'Quimper';
    
$préfecture['30'] = 'Nîmes';
    
$préfecture['31'] = 'Toulouse';
    
$préfecture['32'] = 'Auch';
    
$préfecture['33'] = 'Bordeaux';
    
$préfecture['34'] = 'Montpellier';
    
$préfecture['35'] = 'Rennes';
    
$préfecture['36'] = 'Châteauroux';
    
$préfecture['37'] = 'Tours';
    
$préfecture['38'] = 'Grenoble';
    
$préfecture['39'] = 'Lons-le-Saunie';
    
$préfecture['40'] = 'Mont-de-Marsan';
    
$préfecture['41'] = 'Blois';
    
$préfecture['42'] = 'Saint-Étienne';
    
$préfecture['43'] = 'Le Puy-en-Velay';
    
$préfecture['44'] = 'Nantes';
    
$préfecture['45'] = 'Orléans';
    
$préfecture['46'] = 'Cahors';
    
$préfecture['47'] = 'Agen';
    
$préfecture['48'] = 'Mende';
    
$préfecture['49'] = 'Angers';
    
$préfecture['50'] = 'Saint-Lô';
    
$préfecture['51'] = 'Châlons-en-Champagne';
    
$préfecture['52'] = 'Chaumont';
    
$préfecture['53'] = 'Laval';
    
$préfecture['54'] = 'Nancy';
    
$préfecture['55'] = 'Bar-le-Duc';
    
$préfecture['56'] = 'Vannes';
    
$préfecture['57'] = 'Metz';
    
$préfecture['58'] = 'Nevers';
    
$préfecture['59'] = 'Lille';
    
$préfecture['60'] = 'Beauvais';
    
$préfecture['61'] = 'Alençon';
    
$préfecture['62'] = 'Arras';
    
$préfecture['63'] = 'Clermont-Ferrand';
    
$préfecture['64'] = 'Pau';
    
$préfecture['65'] = 'Tarbes';
    
$préfecture['66'] = 'Perpignan';
    
$préfecture['67'] = 'Strasbourg';
    
$préfecture['68'] = 'Colmar';
    
$préfecture['69'] = 'Lyon';
    
$préfecture['70'] = 'Vesoul';
    
$préfecture['71'] = 'Mâcon';
    
$préfecture['72'] = 'Le Mans';
    
$préfecture['73'] = 'Chambéry';
    
$préfecture['74'] = 'Annecy';
    
$préfecture['75'] = 'Paris';
    
$préfecture['76'] = 'Rouen';
    
$préfecture['77'] = 'Melun';
    
$préfecture['78'] = 'Versailles';
    
$préfecture['79'] = 'Niort';
    
$préfecture['80'] = 'Amiens';
    
$préfecture['81'] = 'Albi';
    
$préfecture['82'] = 'Montauban';
    
$préfecture['83'] = 'Toulon';
    
$préfecture['84'] = 'Avignon';
    
$préfecture['85'] = 'La Roche-sur-Yon';
    
$préfecture['86'] = 'Poitiers';
    
$préfecture['87'] = 'Limoges';
    
$préfecture['88'] = 'Épinal';
    
$préfecture['89'] = 'Auxerre';
    
$préfecture['90'] = 'Belfort';
    
$préfecture['91'] = 'Évry';
    
$préfecture['92'] = 'Nanterre';
    
$préfecture['93'] = 'Bobigny';
    
$préfecture['94'] = 'Créteil';
    
$préfecture['95'] = 'Pontoise';
}
function 
charge_régions()
{
    global 
$mysqli;
    require_once(
"../mysql_connexion/mysql_connexion.php");
    global 
$région ;
    
$région['1'] = 'Rhône-Alpes'
    
$région['2'] = 'Picardie';
    
$région['3'] = 'Auvergne';
    
$région['4'] = "Provence-Alpes-Côte d'Azur"
    
$région['5'] = "Provence-Alpes-Côte d'Azur"
    
$région['6'] = "Provence-Alpes-Côte d'Azur"
    
$région['7'] = 'Rhône-Alpes'
    
$région['8'] = 'Champagne-Ardenne'
    
$région['9'] = 'Midi-Pyrénées ';
    
$région['10'] = 'Champagne-Ardenne'
    
$région['11'] = 'Languedoc-Roussillon'
    
$région['12'] = 'Midi-Pyrénées ';
    
$région['13'] = "Provence-Alpes-Côte d'Azur"
    
$région['14'] = 'Basse-Normandie';
    
$région['15'] = 'Auvergne';
    
$région['16'] = 'Poitou-Charentes'
    
$région['17'] = 'Poitou-Charentes';
    
$région['18'] = 'Centre';
    
$région['19'] = 'Limousin'
    
$région['20'] = 'Corse'
    
$région['2A'] = 'Corse'
    
$région['2B'] = 'Corse'
    
$région['21'] = 'Bourgogne'
    
$région['22'] = 'Bretagne'
    
$région['23'] = 'Limousin'
    
$région['24'] = 'Aquitaine'
    
$région['25'] = 'Franche-Comté'
    
$région['26'] = 'Rhône-Alpes'
    
$région['27'] = 'Haute-Normandie'
    
$région['28'] = 'Centre'
    
$région['29'] = 'Bretagne'
    
$région['30'] = 'Languedoc-Roussillon'
    
$région['31'] = 'Midi-Pyrénées'
    
$région['32'] = 'Midi-Pyrénées'
    
$région['33'] = 'Aquitaine'
    
$région['34'] = 'Languedoc-Roussillon'
    
$région['35'] = 'Bretagne'
    
$région['36'] = 'Centre'
    
$région['37'] = 'Centre'
    
$région['38'] = 'Rhône-Alpes'
    
$région['39'] = 'Franche-Comté'
    
$région['40'] = 'Aquitaine'
    
$région['41'] = 'Centre'
    
$région['42'] = 'Rhône-Alpes'
    
$région['43'] = 'Auvergne'
    
$région['44'] = 'Pays de la Loire'
    
$région['45'] = 'Centre'
    
$région['46'] = 'Midi-Pyrénées'
    
$région['47'] = 'Aquitaine'
    
$région['48'] = 'Languedoc-Roussillon'
    
$région['49'] = 'Pays de la Loire'
    
$région['50'] = 'Basse-Normandie'
    
$région['51'] = 'Champagne-Ardenne'
    
$région['52'] = 'Champagne-Ardenne'
    
$région['53'] = 'Pays de la Loire'
    
$région['54'] = 'Lorraine'
    
$région['55'] = 'Lorraine'
    
$région['56'] = 'Bretagne'
    
$région['57'] = 'Lorraine'
    
$région['58'] = 'Bourgogne'
    
$région['59'] = 'Nord-Pas-de-Calais'
    
$région['60'] = 'Picardie'
    
$région['61'] = 'Basse-Normandie'
    
$région['62'] = 'Nord-Pas-de-Calais'
    
$région['63'] = 'Auvergne'
    
$région['64'] = 'Aquitaine'
    
$région['65'] = 'Midi-Pyrénées'
    
$région['66'] = 'Languedoc-Roussillon'
    
$région['67'] = 'Alsace'
    
$région['68'] = 'Alsace'
    
$région['69'] = 'Rhône-Alpes'
    
$région['70'] = 'Franche-Comté'
    
$région['71'] = 'Bourgogne'
    
$région['72'] = 'Pays de la Loire'
    
$région['73'] = 'Rhône-Alpes'
    
$région['74'] = 'Rhône-Alpes'
    
$région['75'] = 'Ile-de-France'
    
$région['76'] = 'Haute-Normandie'
    
$région['77'] = 'Ile-de-France'
    
$région['78'] = 'Ile-de-France'
    
$région['79'] = 'Poitou-Charentes'
    
$région['80'] = 'Picardie'
    
$région['81'] = 'Midi-Pyrénées'
    
$région['82'] = 'Midi-Pyrénées'
    
$région['83'] = "Provence-Alpes-Côte d'Azur"
    
$région['84'] = "Provence-Alpes-Côte d'Azur";
    
$région['85'] = 'Pays de la Loire';
    
$région['86'] = 'Poitou-Charentes'
    
$région['87'] = 'Limousin'
    
$région['88'] = 'Lorraine'
    
$région['89'] = 'Bourgogne'
    
$région['90'] = 'Franche-Comté'
    
$région['91'] = 'Ile-de-France'
    
$région['92'] = 'Ile-de-France'
    
$région['93'] = 'Ile-de-France'
    
$région['94'] = 'Ile-de-France'
    
$région['95'] = 'Ile-de-France'
}
?>    

La table existait déjà
Efface table atelierphp_sol_departements_prefecture
Table effacée
1 Ain -- Bourg-en-Bresse ** Rhône-Alpes
2 Aisne -- Laon ** Picardie
3 Allier -- Moulins ** Auvergne
4 Alpes de Haute Provence -- Digne ** Provence-Alpes-Côte d\'Azur
5 Hautes-Alpes -- Gap ** Provence-Alpes-Côte d\'Azur
6 Alpes-Maritimes -- Nice ** Provence-Alpes-Côte d\'Azur
7 Ardèche -- Privas ** Rhône-Alpes
8 Ardennes -- Charleville-Mézières ** Champagne-Ardenne
9 Ariège -- Foix ** Midi-Pyrénées
10 Aube -- Troyes ** Champagne-Ardenne
11 Aude -- Carcassonne ** Languedoc-Roussillon
12 Aveyron -- Rodez ** Midi-Pyrénées
13 Bouches-du-Rhône -- Marseille ** Provence-Alpes-Côte d\'Azur
14 Calvados -- Caen ** Basse-Normandie
15 Cantal -- Aurillac ** Auvergne
16 Charente -- Angoulême ** Poitou-Charentes
17 Charente-Maritime -- La Rochelle ** Poitou-Charentes
18 Cher -- Bourges ** Centre
19 Corrèze -- Tulle ** Limousin
20 Corse -- Ajaccio ** Corse
21 Côte d\'Or -- Dijon ** Bourgogne
22 Côtes d\'Armor -- Saint-Brieuc ** Bretagne
23 Creuse -- Guéret ** Limousin
24 Dordogne -- Périgueux ** Aquitaine
25 Doubs -- Besançon ** Franche-Comté
26 Drôme -- Valence ** Rhône-Alpes
27 Eure -- Évreux ** Haute-Normandie
28 Eure-et-Loire -- Chartres ** Centre
29 Finistère -- Quimper ** Bretagne
30 Gard -- Nîmes ** Languedoc-Roussillon
31 Haute-Garonne -- Toulouse ** Midi-Pyrénées
32 Gers -- Auch ** Midi-Pyrénées
33 Gironde -- Bordeaux ** Aquitaine
34 Hérault -- Montpellier ** Languedoc-Roussillon
35 Ille-et-Vilaine -- Rennes ** Bretagne
36 Indre -- Châteauroux ** Centre
37 Indre-et-Loire -- Tours ** Centre
38 Isère -- Grenoble ** Rhône-Alpes
39 Jura -- Lons-le-Saunie ** Franche-Comté
40 Landes -- Mont-de-Marsan ** Aquitaine
41 Loir-et-Cher -- Blois ** Centre
42 Loire -- Saint-Étienne ** Rhône-Alpes
43 Haute-Loire -- Le Puy-en-Velay ** Auvergne
44 Loire-Atlantique -- Nantes ** Pays de la Loire
45 Loiret -- Orléans ** Centre
46 Lot -- Cahors ** Midi-Pyrénées
47 Lot-et-Garonne -- Agen ** Aquitaine
48 Lozère -- Mende ** Languedoc-Roussillon
49 Maine-et-Loire -- Angers ** Pays de la Loire
50 Manche -- Saint-Lô ** Basse-Normandie
51 Marne -- Châlons-en-Champagne ** Champagne-Ardenne
52 Haute-Marne -- Chaumont ** Champagne-Ardenne
53 Mayenne -- Laval ** Pays de la Loire
54 Meurthe-et-Moselle -- Nancy ** Lorraine
55 Meuse -- Bar-le-Duc ** Lorraine
56 Morbihan -- Vannes ** Bretagne
57 Moselle -- Metz ** Lorraine
58 Nièvre -- Nevers ** Bourgogne
59 Nord -- Lille ** Nord-Pas-de-Calais
60 Oise -- Beauvais ** Picardie
61 Orne -- Alençon ** Basse-Normandie
62 Pas-de-Calais -- Arras ** Nord-Pas-de-Calais
63 Puy-de-Dôme -- Clermont-Ferrand ** Auvergne
64 Pyrénées-Atlantiques -- Pau ** Aquitaine
65 Hautes-Pyrénées -- Tarbes ** Midi-Pyrénées
66 Pyrénées-Orientales -- Perpignan ** Languedoc-Roussillon
67 Bas-Rhin -- Strasbourg ** Alsace
68 Haut-Rhin -- Colmar ** Alsace
69 Rhône -- Lyon ** Rhône-Alpes
70 Haute-Saône -- Vesoul ** Franche-Comté
71 Saône-et-Loire -- Mâcon ** Bourgogne
72 Sarthe -- Le Mans ** Pays de la Loire
73 Savoie -- Chambéry ** Rhône-Alpes
74 Haute-Savoie -- Annecy ** Rhône-Alpes
75 Ville de Paris -- Paris ** Ile-de-France
76 Seine-Maritime -- Rouen ** Haute-Normandie
77 Seine-et-Marne -- Melun ** Ile-de-France
78 Yvelines -- Versailles ** Ile-de-France
79 Deux-Sèvres -- Niort ** Poitou-Charentes
80 Somme -- Amiens ** Picardie
81 Tarn -- Albi ** Midi-Pyrénées
82 Tar-et-Garonne -- Montauban ** Midi-Pyrénées
83 Var -- Toulon ** Provence-Alpes-Côte d\'Azur
84 Vaucluse -- Avignon ** Provence-Alpes-Côte d\'Azur
85 Vendée -- La Roche-sur-Yon ** Pays de la Loire
86 Vienne -- Poitiers ** Poitou-Charentes
87 Haute-Vienne -- Limoges ** Limousin
88 Vosges -- Épinal ** Lorraine
89 Yonne -- Auxerre ** Bourgogne
90 Territoire de Belfort -- Belfort ** Franche-Comté
91 Essonne -- Évry ** Ile-de-France
92 Hauts-de-Seine -- Nanterre ** Ile-de-France
93 Seine Saint-Denis -- Bobigny ** Ile-de-France
94 Val-de-Marne -- Créteil ** Ile-de-France
95 Val d\'Oise -- Pontoise ** Ile-de-France


Tous droits réservés. 2005-2020