Leçon N° 15 : Mysql 2ième partie : liaisons entre tables
Création de tables MySQLSolutionSolution & source*
• Rajouter deux auteurs : Victor Hugo et Joanne Kathleen Rowling
• Rajouter un livre : Harry Potter à l'école des sorciers
Notes de page
Source: lesson_15_a_create_two_tables.phpRésultat
<?php
require ("../mysql_connexion/mysql_connexion.php");
require (
"../commons/functions.php");
//mysql_select_db($db) ;
$table_name "atelierphp_exe_titres";
drop_table($table_name);
$table_name "atelierphp_exe_auteurs";
drop_table($table_name);

$table_name "atelierphp_exe_titres";
$field_1 "cle_auteur";
$field_2 "titre";
create_table($table_name,$field_1,$field_2);
$table_name "atelierphp_exe_auteurs";
$field_1 "cle_auteur";
$field_2 "auteur";
create_table($table_name,$field_1,$field_2);

/*
|Les dix petits negres           | 1        | 
|Champolion l'Egyptien           | 2        | 
|La femme sage                   | 2        | 
|La cinquième montagne           | 3        | 
|Le démon et Mademoise           | 3        |
|L'ile mystèrieuse               | 4        | 
|Les Confessions                 | 5        | 
|Lettres                         | 6        | 
|Le mystère de la chambre jaune  |          |
|
*/
$table_name "atelierphp_exe_titres";
$field_name "TITRE";
$field_1 1;
$field_2 "Les dix petits negres";
insert_a_row($table_name,$field_name,$field_1,$field_2);
$field_1 2;
$field_2 "Champolion l Egyptien";
insert_a_row($table_name,$field_name,$field_1,$field_2);
$field_1 2;
$field_2 "La femme sage";
insert_a_row($table_name,$field_name,$field_1,$field_2);
$field_1 3;
$field_2 "La cinquième montagne";
insert_a_row($table_name,$field_name,$field_1,$field_2);
$field_1 3;
$field_2 "Le démon et Mademoiselle";
insert_a_row($table_name,$field_name,$field_1,$field_2);
$field_1 4;
$field_2 "L ile mystèrieuse";
insert_a_row($table_name,$field_name,$field_1,$field_2);
$field_1 5;
$field_2 "Les Confessions";
insert_a_row($table_name,$field_name,$field_1,$field_2);
$field_1 6;
$field_2 "Lettres";
insert_a_row($table_name,$field_name,$field_1,$field_2);
$field_1 "";
$field_2 "Le mystère de la chambre jaune";
insert_a_row($table_name,$field_name,$field_1,$field_2);
/*
|cle_auteur   auteurs              |
| 1 | Agata Christie               | 
| 2 | Christian Jacq               | 
| 3 | Paulo Coelho                 |
| 4 | Jules Verne                  | 
| 5 | Jean-Jacques Rousseau        | 
| 6 | Madame de Sévigné            | 
*/
$table_name "atelierphp_exe_auteurs";
$field_name "auteur" ;
$field_1 1;
$field_2 "Agata Christie";
insert_a_row($table_name,$field_name,$field_1,$field_2);
$field_1 2;
$field_2 "Christian Jacq";
insert_a_row($table_name,$field_name,$field_1,$field_2);
$field_1 3;
$field_2 "Paulo Coelho";
insert_a_row($table_name,$field_name,$field_1,$field_2);
$field_1 4;
$field_2 "Jules Verne";
insert_a_row($table_name,$field_name,$field_1,$field_2);
$field_1 5;
$field_2 "Jean-Jacques Rousseau";
insert_a_row($table_name,$field_name,$field_1,$field_2);
$field_1 6;
$field_2 "Madame de Sévigné";
insert_a_row($table_name,$field_name,$field_1,$field_2);
$field_1 7;
$field_2 "Voltaire";
insert_a_row($table_name,$field_name,$field_1,$field_2);

/*
//read the table
echo "<table border=1><tr><th>User</th><th>Pass</th></tr>";
$result = mysqli_query($mysqli,"SELECT * 
  FROM  atelierphp_exe_pass_words ");
        $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>";        

*/
//----------------------------------------------------
function create_table($table_name,$field_1,$field_2)
{
    global 
$mysqli;
    require_once(
"../mysql_connexion/mysql_connexion.php");
    
$result mysqli_query($mysqli,"CREATE TABLE $table_name 
  (
$field_1 INT, $field_2 TEXT)"); 
if (
$result == 1)
    {
        echo 
"table $table_name créée<br/>";
    }
    else
    {
        echo 
"error creating the table<br/>";
    }
}
//-----------------------------------------------------------
function insert_a_row($table_name,$field_name,$field_1,$field_2)
{
    global 
$mysqli;
    require_once(
"../mysql_connexion/mysql_connexion.php");
    
$result mysqli_query($mysqli,"INSERT INTO $table_name 
  (cle_auteur, 
$field_name)
     VALUES ('
$field_1','$field_2')");
 if (
$result == 1)
     {
         echo 
"valeur $field_2 insérée dans $field_name <br/>";
     }
     else
     {
         echo 
"erreur d'insersion $field_2 dans la table 
     
$table_name<br/>";
     }
}
?>


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>";
}
?>
        
Efface table atelierphp_exe_titres
Table effacée
Efface table atelierphp_exe_auteurs
Table effacée
table atelierphp_exe_titres créée
table atelierphp_exe_auteurs créée
valeur Les dix petits negres insérée dans TITRE
valeur Champolion l Egyptien insérée dans TITRE
valeur La femme sage insérée dans TITRE
valeur La cinquième montagne insérée dans TITRE
valeur Le démon et Mademoiselle insérée dans TITRE
valeur L ile mystèrieuse insérée dans TITRE
valeur Les Confessions insérée dans TITRE
valeur Lettres insérée dans TITRE
valeur Le mystère de la chambre jaune insérée dans TITRE
valeur Agata Christie insérée dans auteur
valeur Christian Jacq insérée dans auteur
valeur Paulo Coelho insérée dans auteur
valeur Jules Verne insérée dans auteur
valeur Jean-Jacques Rousseau insérée dans auteur
valeur Madame de Sévigné insérée dans auteur
valeur Voltaire insérée dans auteur

Tous droits réservés. 2005-2020