La Homepage de Floppy
v3.00 - Tutoriaux PHP + MySQL



Gestion des liens Sociétés - Contacts
(PHP3 uniquement)

 


Vous pouvez accèder directement à la partie qui vous intéresse en cliquant ci-dessous :
  • Paramétrage du tutorial
  • Information sur le tutorial
  • Création de la table des sociétés dans MySQL
  • Création de la table des contacts dans MySQL
  • Création de la table des liens entre les sociétés et les contacts dans MySQL
  • Création du fichier d'include globale.inc.php3
  • Création du fichier d'include fonction.inc.php3
  • Création du fichier pour l'affichage du menu (menu.html)
  • Création du fichier pour l'affichage de la liste des sociétés (liste_societes.php3)
  • Création du fichier pour la création d'une société (creation_societe.php3)
  • Création du fichier pour la modification d'une société (modification_societe.php3)
  • Création du fichier de redirection sur l'ajout d'une société (societeAdd.php3)
  • Création du fichier de redirection sur la modification d'une société (societeMod.php3)
  • Création du fichier de redirection sur la suppression d'une société (societeDel.php3)
  • Création du fichier pour l'affichage de la liste des contacts (liste_contacts.php3)
  • Création du fichier pour la création d'un contact (creation_contact.php3)
  • Création du fichier pour la modification d'un contact (modification_contact.php3)
  • Création du fichier de redirection sur l'ajout d'un contact (contactAdd.php3)
  • Création du fichier de redirection sur la modification d'un contact (contactMod.php3)
  • Création du fichier de redirection sur la suppression d'un contact (contactDel.php3)
  • Création du fichier pour l'affichage de la liste des sociétés avec le nombre de contacts (select_societe.php3)
  • Création du fichier pour l'affichage de la liste des contacts d'une société donnée (lien_societe_contacts.php3)
  • Création du fichier pour la redirection sur la modification des liens societes - contacts (lienMod.php3)
  • Conclusion



  • Paramétrage du tutorial
     


    Ce tutorial utilise des Valeurs par défaut
    Si vous n'utilisez pas les mêmes valeurs, veuillez les changer et appuyer sur le bouton de validation des modifications
    Pour remettre un champ à sa valeur initiale, cliquez sur sa description
    Modification des paramètres
    Nom de la base de données  : 
    Nom de la table des sociétés  : 
    Nom de la table des contactse  : 
    Nom de la table des liens sociétés - contacts  : 
    Remarque : ces valeurs apparaitront dans le tutorial sous cette forme : lfa



    Information sur le tutorial
     


    Ce tutorial m'a été demandé par Pierre75, un utilisateur du site, dans le but d'expliquer de manière très simple comment accéder à des tables de la base de données.
    Dans ce tutorial, il y a 3 tables dans la base :
  • la table societe où sont stockées les informations des sociétés
  • la table contact où sont stockées les informations des contacts
  • la table societe_contact où sont stockées les liens entre les sociétés et leurs contacts

    Pour Pierre75, le tutorial devait permettre
  • de créer, modifier et supprimer des sociétés dans la base
  • de créer, modifier et supprimer des contacts dans la base
  • de lier une société à plusieurs contacts, un contact pouvant aussi être rélié à plusieurs société (lien N-N)
    Remarque : le lien 'N-N' implique la création d'une table spéciale pour stocker les liens (c'est la table societe_contact)

    Pour illustrer le tutorial, nous allons créer
  • 1 table dans la base MySQL pour stocker les sociétés
  • 1 table dans la base MySQL pour stocker les contacts
  • 1 table dans la base MySQL pour stocker les liens entre les sociétés et les contacts
  • 1 fichier include contenant les variables globales au tutorial
  • 1 fichier include contenant les fonctions utilisées dans le tutorial
  • 1 fichier d'affichage du menu qui sera incorporé dans chacunes des pages du tutorial
  • 1 fichier pour afficher la liste des sociétés
  • 1 fichier pour la création d'une société
  • 1 fichier pour la modification d'une société
  • 1 fichier de redirection sur l'ajout d'une société
  • 1 fichier de redirection sur la modification d'une société
  • 1 fichier de redirection sur la suppression d'une société
  • 1 fichier pour afficher la liste des contacts
  • 1 fichier pour la création d'un contact
  • 1 fichier pour la modification d'un contact
  • 1 fichier de redirection sur l'ajout d'un contact
  • 1 fichier de redirection sur la modification d'un contact
  • 1 fichier de redirection sur la suppression d'un contact
  • 1 fichier pour afficher la liste des sociétés avec le nombre de contacts qui leurs sont reliés
  • 1 fichier pour afficher la liste des contacts d'une société donnée
  • 1 fichier pour la redirection sur la modification des liens sociétés - contacts

    Vous pouvez vous rendre compte du résultat en cliquant ici : résultat du tutorial

    Au préalable, vous devez avoir installé Apache, PHP et MySQL (cf. tutorial sur l'installation d'apache + PHP + MySQL)
    Eventuellement, vous devez avoir installé phpMyAdmin (cf. tutorial sur l'installation de phpMyAdmin)
    Vous devez également avoir un minimum de connaissances sur les bases de données et le SQL (sujets non abordés dans ce tutorial)

    Pour tout complément d'information ou pour toutes questions, vous pouvez me laisser un mail ou poster un message dans le forum

    Merci de ne pas réutiliser ce tutorial sans citer mon site : La homepage de Floppy

    Bonne lecture...



    Création de la table des sociétés dans MySQL
     


    Etape Description
    1 Si vous souhaitez récupérer le fichier de création de la table des sociétés, il se trouve dans l'archive societe.zip (fichier societe.sql)
    2 Créez une base de donnée lfa à l'aide de phpMyAdmin
    3 Créez la table societe dans votre base de données lfa, à l'aide de phpMyAdmin
    Cette table est définie ainsi :
    #
    # Structure de la table 'societe'
    #
    CREATE TABLE societe (
        idsociete bigint(20) NOT NULL auto_increment,
        nom varchar(255) NOT NULL,
        adresse varchar(255),
        cp varchar(5),
        ville varchar(255),
        PRIMARY KEY (idsociete),
        UNIQUE idsociete (idsociete),
        KEY idsociete_2 (idsociete)
    );
    Explication : voici l'explication des champs de la table :
  • idsociete : clé primaire de la table, identifiant de manière unique une société
  • nom : nom de la société
  • adresse : adresse de la société
  • cp : code postal de la société
  • ville : ville de la société




  • Création de la table des contacts MySQL
     


    Etape Description
    1 Si vous souhaitez récupérer le fichier de création de la table des contacts, il se trouve dans l'archive societe.zip (fichier contact.sql)
    2 Créez la table contact dans votre base de données lfa, à l'aide de phpMyAdmin
    Cette table est définie ainsi :
    #
    # Structure de la table 'contact'
    #
    CREATE TABLE contact (
        idcontact bigint(20) NOT NULL auto_increment,
        nom varchar(255) NOT NULL,
        prenom varchar(255),
        tel varchar(30),
        email varchar(255),
        PRIMARY KEY (idcontact),
        UNIQUE idcontact (idcontact),
        KEY idcontact_2 (idcontact)
    );
    Explication : voici l'explication des champs de la table :
  • idcontact : clé primaire de la table, identifiant de manière unique un contact. Ce champ est rempli automatiquement
  • nom : nom du contact. Ce champ ne doit pas être vide
  • prenom : prénom du contact
  • tel : Téléphone du contact
  • email : email du contact




  • Création de la table des liens entre les sociétés et les contacts dans MySQL
     


    Etape Description
    1 Si vous souhaitez récupérer le fichier de création de la table des liens entre les sociétés et les contacts, il se trouve dans l'archive societe.zip (fichier societe_contact.sql)
    2 Créez la table societe_contact dans votre base de données lfa, à l'aide de phpMyAdmin
    Cette table est définie ainsi :
    #
    # Structure de la table 'societe_contact'
    #
    CREATE TABLE societe_contact (
        idsociete bigint(20) NOT NULL,
        idcontact bigint(20) NOT NULL
    );
    Explication : voici l'explication des champs de la table :
  • idsociete : identifiant de la société
  • idcontact : identifiant du contact
    Remarque : Le couple idsociete + idcontact est unique




  • Création du fichier d'include globale.inc.php3
     


    Etape Description
    1 Si vous souhaitez récupérer le fichier globale.inc.php3, il se trouve dans l'archive societe.zip
    2 Créer un fichier d'include globale.inc.php3, contenant les variables globales d'accès à votre base
    Ce fichier est prévu pour un usage en local et un usage sur le serveur de votre hébergeur (Free par exemple), d'où le test sur le HTTP_HOST
    Ce fichier contient ces lignes :
    <?
    if (getenv("HTTP_HOST") == "localhost") {
        // variables globales localhost
        $host = "localhost";
        $base = "lfa";
        $login = "";
        $pass = "";
    } else {
        // variables globales Free
        $host = "sql.free.fr";
        $base = "laurent.fagot";  // à changer
        $login = "laurent.fagot"; // à changer
        $pass = "xxxxxxxx";       // à changer
    }
    ?>
    Explication : voici l'explication des variables utilisées :
  • $host : nom du host (serveur) hébergeant la base
  • $base : nom de la base sur le serveur
  • $login : login pour accèder à la base
  • $pass : mot de passe pour accèder à la base
    Attention : selon si vous utilisez le fichier en local ou sur le serveur, vous devez faire des modifications :
  • Pour la partie variables globales localhost, il ne devrait pas y avoir de modification à effectuer (mise à part $base)
  • Pour la partie variables globales Free, il vous faut modifier les valeurs des lignes marquées par '// à changer' comme suit :
        - $base : votre identifiant de connexion sur Free
        - $login : votre identifiant de connexion sur Free (le même que $base)
        - $pass : votre mot de passe sur Free
    Remarque : si vous utilisez un autre fournisseur d'accès que Free, veuillez adapter les valeurs aux variables




  • Création du fichier d'include fonction.inc.php3
     


    Etape Description
    1 Si vous souhaitez récupérer le fichier fonction.inc.php3, il se trouve dans l'archive societe.zip
    2 Créer un fichier d'include fonction.inc.php3, contenant les fonctions d'accès à votre base
    Ce fichier est découpé en foncions (d'où son nom), et il ne contient que du code PHP
    Ajoutez donc la ligne en début de fichier :
    <?
    3 Fonction connecte() : connexion à la base
    Ajoutez ces lignes au fichier :
    function connecte() {
        global $host, $login, $pass;
        $conn = mysql_connect($host, $login, $pass);
        return $conn;
    }
    Utilise les variables globales $host, $login et $pass, définies dans le fichier globale.inc.php3
    Retourne l'identifiant de la connecion ($conn)
    4 Fonction deconnecte($conn) : déconnexion de la base
    Ajoutez ces lignes au fichier :
    function deconnecte($conn) {
        mysql_close($conn);
    }
    Utilise la variable de connexion $conn, passée en argument et issue de la fonction connecte()
    5 Fonction societeAdd($nom, $adresse, $cp, $ville) : ajoute une société dans la table societe
    Ajoutez ces lignes au fichier :
    function societeAdd($nom, $adresse, $cp, $ville) {
        global $base;
        mysql_db_query($base, "insert into societe values('', '$nom', '$adresse', '$cp', '$ville')");
    }
    Utilise la variable globale $base, définie dans le fichier globale.inc.php3
    Insère un enregistrement dans la table societe, contenant l'identifiant (géré automatiquement par MySQL), le nom, l'adresse, le code postal et la ville de la société
    6 Fonction societeDelete($id) : supprime la société dont l'identifiant est $id
    Ajoutez ces lignes au fichier :
    function societeDelete($id) {
        global $base;
        mysql_db_query($base, "delete from societe where idsociete = '$id'");
        mysql_db_query($base, "delete from societe_contact where idsociete = '$id'");
    }
    Utilise la variable globale $base, définie dans le fichier globale.inc.php3
    Supprime la société dont l'identifiant est $id de la table des sociétés (societe)
    Mais supprime aussi tous les enregistrements où apparaissait cette société de la table des liens (societe_contact)
    7 Fonction societeModify($id, $nom, $adresse, $cp, $ville) : modifie une société
    Ajoutez ces lignes au fichier :
    function societeModify($id, $nom, $adresse, $cp, $ville) {
        global $base;
        $result = mysql_db_query($base, "select * from societe where idsociete = '$id'");
        $row = mysql_fetch_object($result);
        if ($row) {
            $query = "update societe set nom = '$nom', adresse = '$adresse', cp = '$cp', ville = '$ville' where idsociete = '$id'";
            mysql_db_query($base, $query);
        }
        mysql_free_result($result);
    }
    Utilise la variable globale $base, définie dans le fichier globale.inc.php3
    Recherche dans la table si la société dont l'identifiant est $id existe.
    Si c'est le cas, modifie les valeurs de l'enregistrement (nom, adresse, code postal et ville)
    Remarque : l'identifiant n'est jamais changé (et ne doit jamais l'être) !
    8 Fonction contactAdd($nom, $prenom, $tel, $email) : ajoute un contact dans la table contact
    Ajoutez ces lignes au fichier :
    function contactAdd($nom, $prenom, $tel, $email) {
        global $base;
        mysql_db_query($base, "insert into contact values('', '$nom', '$prenom', '$tel', '$email')");
    }
    Utilise la variable globale $base, définie dans le fichier globale.inc.php3
    Insère un enregistrement dans la table contact, contenant l'identifiant (géré automatiquement par MySQL), le nom, le prénom, le téléphone et l'email du contact
    9 Fonction contactDelete($id) : supprime le contact dont l'identifiant est $id
    Ajoutez ces lignes au fichier :
    function contactDelete($id) {
        global $base;
        mysql_db_query($base, "delete from contact where idcontact = '$id'");
        mysql_db_query($base, "delete from societe_contact where idcontact = '$id'");
    }
    Utilise la variable globale $base, définie dans le fichier globale.inc.php3
    Supprime le contact dont l'identifiant est $id de la table des contacts (contact)
    Mais supprime aussi tous les enregistrements où apparaissait ce contact de la table des liens (societe_contact)
    10 Fonction contactModify($id, $nom, $prenom, $tel, $email) : modifie un contact
    Ajoutez ces lignes au fichier :
    function contactModify($id, $nom, $prenom, $tel, $email) {
        global $base;
        $result = mysql_db_query($base, "select * from contact where idcontact = '$id'");
        $row = mysql_fetch_object($result);
        if ($row) {
            $query = "update contact set nom = '$nom', prenom = '$prenom', tel = '$tel', email = '$email' where idcontact = '$id'";
            mysql_db_query($base, $query);
        }
        mysql_free_result($result);
    }
    Utilise la variable globale $base, définie dans le fichier globale.inc.php3
    Recherche dans la table si le contact dont l'identifiant est $id existe.
    Si c'est le cas, modifie les valeurs de l'enregistrement (nom, prénom, téléphone et email)
    Remarque : l'identifiant n'est jamais changé (et ne doit jamais l'être) !
    11 Fonction getNbContacts($id) : retourne le nombre de contacts de la société dont l'identifiant est $id
    Ajoutez ces lignes au fichier :
    function getNbContacts($id) {
        global $base;
        $result = mysql_db_query($base, "select count(*) as cpt from societe_contact where idsociete = '$id'");
        $row = mysql_fetch_object($result);
        if ($row)
            $cpt = $row->cpt;
        else
            $cpt = 0;
        mysql_free_result($result);
        return $cpt;
    }
    Utilise la variable globale $base, définie dans le fichier globale.inc.php3
    Retourne le nombre de contacts de la société dont l'identifiant est $id>, ou la valeur 0 si il n'y a pas de lien dans la table societe_contact pour cette société
    12 Fonction getSocieteNom($id) : retourne le nom de la société dont l'identifiant est $id
    Ajoutez ces lignes au fichier :
    function getSocieteNom($id) {
        global $base;
        $result = mysql_db_query($base, "select nom from societe where idsociete = '$id'");
        $row = mysql_fetch_object($result);
        if ($row)
            $nom = $row->nom;
        else
            $nom = '';
        mysql_free_result($result);
        return $nom;
    }
    Utilise la variable globale $base, définie dans le fichier globale.inc.php3
    Retourne le nom de la société dont l'identifiant est $id, ou '' (chaine vide) si il y a une erreur (l'enregistrement n'est pas trouvé)
    13 Fonction isLinkSocieteContact($idsociete, $idcontact) : permet de savoir si il y a un lien entre une société et un contact
    Ajoutez ces lignes au fichier :
    function isLinkSocieteContact($idsociete, $idcontact) {
        global $base;
        $result = mysql_db_query($base, "select * from societe_contact where idsociete = '$idsociete' and idcontact = '$idcontact'");
        $row = mysql_fetch_object($result);
        if ($row)
            $res = 1;
        else
            $res = 0;
        mysql_free_result($result);
        return $res;
    }
    Utilise la variable globale $base, définie dans le fichier globale.inc.php3
    Recherche dans la table des liens si il y a un enregistrement dont l'identifiant société est $idsociete et dont l'identifiant contact est $idcontact
    Si cet enregistrement existe, il y a un lien entre la société et le contact, on retourne donc la valeur 1, sinon, on retourne la valeur 0
    14 Fonction deleteAllLinkSocieteContact($id) : supprime tous les liens d'un société avec ses contacts
    Ajoutez ces lignes au fichier :
    function deleteAllLinkSocieteContact($id) {
        global $base;
        mysql_db_query($base, "delete from societe_contact where idsociete = '$id'");
    }
    Utilise la variable globale $base, définie dans le fichier globale.inc.php3
    Supprime tous les liens de la société dont l'identifiant est $id de la table des liens (societe_contact)
    15 Fonction makeLinkSocieteContact($idsociete, $idcontact) : crée un lien entre une société et un contact
    Ajoutez ces lignes au fichier :
    function makeLinkSocieteContact($idsociete, $idcontact) {
        global $base;
        mysql_db_query($base, "insert into societe_contact values('$idsociete', '$idcontact')");
    }
    Utilise la variable globale $base, définie dans le fichier globale.inc.php3
    Crée un lien entre la société dont l'identifiant est $idsociete et un contact dont l'identifiant est $idcontact dans la table des liens (societe_contact)
    16 Fermez le fichier PHP en ajoutant cette ligne en fin de fichier :
    ?>




    Création du fichier pour l'affichage du menu (menu.html)
     


    Etape Description
    1 Si vous souhaitez récupérer le fichier menu.html, il se trouve dans l'archive societe.zip
    2 Créer un fichier menu.html contenant le code d'affichage du menu
    Voici le contenu du fichier :
    [<a href="liste_societes.php3">Liste des sociétés</a>]
    [<a href="liste_contacts.php3">Liste des contacts</a>]
    [<a href="select_societe.php3">Lien société - contacts</a>]
    Explication : voici l' explication de ces 3 lignes
  • Affichage du lien pour la gestion des sociétés
  • Affichage du lien pour la gestion des contacts
  • Affichage du lien pour la gestion des lien entre les sociétés et les contacts




  • Création du fichier pour l'affichage de la liste des sociétés (liste_societes.php3)
     


    Etape Description
    1 Si vous souhaitez récupérer le fichier liste_societes.php3, il se trouve dans l'archive societe.zip
    2 Créer un fichier liste_societes.php3 contenant le code d'affichage des sociétés
    Voici le début du contenu du fichier :
    <?
    include "globale.inc.php3";
    include "fonction.inc.php3";
    $conn = connecte();
    ?>
    Explication : voici l'explication de ces lignes
  • Chargement du fichier d'include globale.inc.php3 contenant les variables de l'application
  • Chargement du fichier d'include fonction.inc.php3 contenant les fonctions de l'application
  • Connexion à la base
  • 3 Voici la suite du fichier :
    <html>
    <head>
    <script language="JavaScript">
    <!--
    function conf() {
        return (confirm("Etes-vous sur de vouloir supprimer cette societe ?"));
    }
    //-->
    </script>
    </head>
    Explication : voici l'explication de ces lignes
  • Début du fichier HTML
  • Définition de la procédure JavaScript pour la confirmation de la suppression d'une société
  • 4 voici la suite du fichier :
    <body>
    <font face="Trebuchet MS, Comic Sans MS" size=2>
    <center>
    <? include "menu.html" ?>
    <br><br>
    liste des <b>sociétés</b>
    <br><br>
    Explication : voici l'explication de ces lignes
    Définition des fontes, ajout de la page du menu et affichage du titre de la page
    5 Voici la suite du fichier :
    <table>
    <tr>
        <td align=center bgcolor="08119a">
            <font face="Trebuchet MS, Comic Sans MS" size=2 color="ffffff">
            Id
            </font>
        </td>
        <td align=center bgcolor="08119a">
            <font face="Trebuchet MS, Comic Sans MS" size=2 color="ffffff">
            Nom
            </font>
        </td>
        <td align=center bgcolor="08119a">
            <font face="Trebuchet MS, Comic Sans MS" size=2 color="ffffff">
            Adresse
            </font>
        </td>
        <td align=center bgcolor="08119a">
            <font face="Trebuchet MS, Comic Sans MS" size=2 color="ffffff">
            Code postal
            </font>
        </td>
        <td align=center bgcolor="08119a">
            <font face="Trebuchet MS, Comic Sans MS" size=2 color="ffffff">
            Ville
            </font>
        </td>
        <td align=center bgcolor="08119a">
            <font face="Trebuchet MS, Comic Sans MS" size=2 color="ffffff">
            Action
            </font>
        </td>
    </tr>
    Explication : voici l'explication de ces lignes
    Affichage de l'entête du tableau contenant les informations des sociétés :
  • Identifiant (id)
  • Nom (c'est avec cette colonne que l'on pourra accèder à la modification de la société)
  • Adresse
  • Code postal
  • Ville
  • Action (c'est avec cette colonne que l'on pourra supprimer la société)
  • 6 voici la suite du fichier :
    <?
    $ligne = 1;
    $result = mysql_db_query($base, "select * from societe order by idsociete");
    while ($row = mysql_fetch_object($result)) {
        $id = $row->idsociete;
        $nom = $row->nom;
        $adresse = $row->adresse;
        $cp = $row->cp;
        $ville = $row->ville;
        ?>
        <tr>
            <td align=center bgcolor="<? if ($ligne > 0) echo "ffffff"; else echo "eeeeff"; ?>">
                <font face="Trebuchet MS, Comic Sans MS" size=2>
                <? echo $id ?>
                </font>
            </td>
            <td align=center bgcolor="<? if ($ligne > 0) echo "ffffff"; else echo "eeeeff"; ?>">
                <font face="Trebuchet MS, Comic Sans MS" size=2>
                <a href="modification_societe.php3?id=<? echo $id ?>"><? echo $nom ?></a>
                </font>
            </td>
            <td align=center bgcolor="<? if ($ligne > 0) echo "ffffff"; else echo "eeeeff"; ?>">
                <font face="Trebuchet MS, Comic Sans MS" size=2>
                <? echo $adresse ?>
                </font>
            </td>
            <td align=center bgcolor="<? if ($ligne > 0) echo "ffffff"; else echo "eeeeff"; ?>">
                <font face="Trebuchet MS, Comic Sans MS" size=2>
                <? echo $cp ?>
                </font>
            </td>
            <td align=center bgcolor="<? if ($ligne > 0) echo "ffffff"; else echo "eeeeff"; ?>">
                <font face="Trebuchet MS, Comic Sans MS" size=2>
                <? echo $ville ?>
                </font>
            </td>
            <td align=center bgcolor="<? if ($ligne > 0) echo "ffffff"; else echo "eeeeff"; ?>">
                <font face="Trebuchet MS, Comic Sans MS" size=2>
                [<a href="societeDel.php3?id=<? echo $id ?>" onClick="return conf();">Sup</a>]
                </font>
            </td>
        </tr>
        <?
        $ligne = -$ligne;
    }
    mysql_free_result($result);
    ?>
    Explication : voici l'explication de ces lignes
    Exécution de la requête qui récupère la liste de toutes les sociétés de la table societe, triée par identifiant de société
    Pour chacuns des enregistrements de la table, récupération
  • de l'identifiant de la société
  • du nom de la société (un lien est fait sur ce champ, permettant d'accèder à la page de modification de la société)
  • de l'adresse de la société
  • du code postal de la société
  • de la ville de la société
    La dernière colonne du tableau permet de faire un lien sur la suppression de la société. Une confirmation est nécessaire par appel à la fonction JavaScript définie à l'étape 3
  • 7 Voici la suite du fichier :
    </table>
    <br>
    <a href="creation_societe.php3">Créer une nouvelle société</a>
    </center>
    </font>
    Explication : voici l'explication de ces lignes
    Fermeture du tableau et ajout du lien permettant la création d'une nouvelle société (en bas du tableau)
    8 Voici la fin du fichier :
    <?
    deconnecte($conn);
    ?>
    </body>
    </html>
    Explication : voici l'explication de ces lignes
  • Déconnection de la base
  • Fermeture du fichier HTML




  • Création du fichier pour la création d'une société (creation_societe.php3)
     


    Etape Description
    1 Si vous souhaitez récupérer le fichier creation_societe.php3, il se trouve dans l'archive societe.zip
    2 Créer un fichier creation_societe.php3 contenant le code de création d'une société
    Voici le début du contenu du fichier :
    <?
    include "globale.inc.php3";
    include "fonction.inc.php3";
    $conn = connecte();
    ?>
    Explication : voici l'explication de ces lignes
  • Chargement du fichier d'include globale.inc.php3 contenant les variables de l'application
  • Chargement du fichier d'include fonction.inc.php3 contenant les fonctions de l'application
  • Connexion à la base
  • 3 Voici la suite du fichier :
    <html>
    <head>
    <script language="JavaScript">
    <!--
    function validate(enreg) {
        val1 = document.enreg.nom.value;
        while('' + val1.charAt(0)==' ')
            val1 = val1.substring(1, val1.length);
        if (val1 == "") {
            alert("Veuillez saisir le nom.");
            document.enreg.nom.focus();
            return false;
        }
    }
    //-->
    </script>
    </head>
    Explication : voici l'explication de ces lignes
  • Début du fichier HTML
  • Définition de la fonction JavaScript permettant de valider les données (le nom de la société est obligatoire)
  • 4 voici la suite du fichier :
    <body>
    <font face="Trebuchet MS, Comic Sans MS" size=2>
    <center>
    <? include "menu.html" ?>
    <br><br>
    Création d'une <b>société</b>
    <br><br>
    Explication : voici l'explication de ces lignes
    Définition des fontes, ajout de la page du menu et affichage du titre de la page
    5 Voici la suite du fichier :
    <form action="societeAdd.php3" method="post" name=enreg onSubmit="return validate(this)">
    <table cellpadding=0 border=0>
    <tr>
        <td bgcolor="000000">
        <table width=100% cellpadding=3 cellspacing=1 border=0>
        <tr>
            <td bgcolor="08119a" align=center><font face="Trebuchet MS, Comic Sans MS, Helvetica" size=2 color="ffffff">Ajout d'une société</td>
        </tr>
        <tr>
            <td bgcolor="eeeeff" align=center>
                <table width=100%>
                <tr>
                    <td align=right><font face="Trebuchet MS, Comic Sans MS, Helvetica" size=2>Nom</font></td>
                    <td align=center><font face="Trebuchet MS, Comic Sans MS, Helvetica" color="ff0000" size=2> <b>*</b> </font></td>
                    <td><input type=text name=nom></td>
                </tr>
                <tr>
                    <td align=right><font face="Trebuchet MS, Comic Sans MS, Helvetica" size=2>Adresse</font></td>
                    <td> </td>
                    <td><input type=text name=adresse></td>
                </tr>
                <tr>
                    <td align=right><font face="Trebuchet MS, Comic Sans MS, Helvetica" size=2>Code postal</font></td>
                    <td> </td>
                    <td><input type=text name=cp></td>
                </tr>
                <tr>
                    <td align=right><font face="Trebuchet MS, Comic Sans MS, Helvetica" size=2>Ville</font></td>
                    <td> </td>
                    <td><input type=text name=ville></td>
                </tr>
                <tr>
                <td colspan=3 align=center>
                    <input type=submit value="Enregistrer">
                    </font>
                </td>
                </tr>
                </table>
            </td>
        </tr>
        </table>
        </td>
    </tr>
    </table>
    </form>
    </center>
    </font>
    Explication : voici l'explication de ces lignes
    Définition du formulaire pour la saisie
  • du nom de la société (champ obligatoire, d'où la petite étoile rouge)
  • de l'adresse de la société
  • du code postal de la société
  • de la ville de la société
    Remarque : on ne saisie pas l'identifiant de la société car il est créé automatiquement par MySQL !
  • 6 Voici la fin du fichier :
    <?
    deconnecte($conn);
    ?>
    </body>
    </html>
    Explication : voici l'explication de ces lignes
  • Déconnection de la base
  • Fermeture du fichier HTML




  • Création du fichier pour la modification d'une société (modification_societe.php3)
     


    Etape Description
    1 Si vous souhaitez récupérer le fichier modification_societe.php3, il se trouve dans l'archive societe.zip
    Ce fichier est assez similaire à celui de la création d'une société, les seules différences étant
  • les valeurs des champs sont pré-renseignées (elles sont à vide pour la création)
  • la validation du formulaire appelle la page de redirection sur la modification (redirection sur la création pour la création)
  • 2 Créer un fichier modification_societe.php3 contenant le code de modification d'une société
    Voici le début du contenu du fichier :
    <?
    include "globale.inc.php3";
    include "fonction.inc.php3";
    $conn = connecte();
    ?>
    Explication : voici l'explication de ces lignes
  • Chargement du fichier d'include globale.inc.php3 contenant les variables de l'application
  • Chargement du fichier d'include fonction.inc.php3 contenant les fonctions de l'application
  • Connexion à la base
  • 3 Voici la suite du fichier :
    <html>
    <head>
    <script language="JavaScript">
    <!--
    function validate(enreg) {
        val1 = document.enreg.nom.value;
        while('' + val1.charAt(0)==' ')
            val1 = val1.substring(1, val1.length);
        if (val1 == "") {
            alert("Veuillez saisir le nom.");
            document.enreg.nom.focus();
            return false;
        }
    }
    //-->
    </script>
    </head>
    Explication : voici l'explication de ces lignes
  • Début du fichier HTML
  • Définition de la fonction JavaScript permettant de valider les données (le nom de la société est obligatoire)
  • 4 voici la suite du fichier :
    </head>
    <body>
    <font face="Trebuchet MS, Comic Sans MS" size=2>
    <center>
    <? include "menu.html" ?>
    <br><br>
    Modification d'une <b>société</b>
    <br><br>
    Explication : voici l'explication de ces lignes
    Définition des fontes, ajout de la page du menu et affichage du titre de la page
    5 Voici la suite du fichier :
    <?
    $result = mysql_db_query($base, "select * from societe where idsociete='$id'");
    $row = mysql_fetch_object($result);
    if ($row) {
        $nom = $row->nom;
        $adresse = $row->adresse;
        $cp = $row->cp;
        $ville = $row->ville;
    ?>
    Explication : voici l'explication de ces lignes
    Récupération des données de la société dont l'identifiant est $id
    Si cet enregistrement existe, on prérenseigne les variables $nom, $adresse, $cp et $ville qui serviront à fixer les valeurs par défaut
    6 Voici la suite du fichier :
    <form action="societeMod.php3" method="post" name=enreg onSubmit="return validate(this)">
    <table cellpadding=0 border=0>
    <tr>
        <td bgcolor="000000">
        <table width=100% cellpadding=3 cellspacing=1 border=0>
        <tr>
            <td bgcolor="08119a" align=center><font face="Trebuchet MS, Comic Sans MS, Helvetica" size=2 color="ffffff">Modification d'une société</td>
        </tr>
        <tr>
            <td bgcolor="eeeeff" align=center>
                <table width=100%>
                <tr>
                    <td align=right><font face="Trebuchet MS, Comic Sans MS, Helvetica" size=2>Id</font></td>
                    <td> </td>
                    <td><? echo $id ?></td>
                </tr>
                <tr>
                    <td align=right><font face="Trebuchet MS, Comic Sans MS, Helvetica" size=2>Nom</font></td>
                    <td align=center><font face="Trebuchet MS, Comic Sans MS, Helvetica" color="ff0000" size=2> <b>*</b> </font></td>
                    <td><input type=hidden name=id value="<? echo $id ?>"><input type=text name=nom value="<? echo $nom ?>"></td>
                </tr>
                <tr>
                    <td align=right><font face="Trebuchet MS, Comic Sans MS, Helvetica" size=2>Adresse</font></td>
                    <td> </td>
                    <td><input type=text name=adresse value="<? echo $adresse ?>"></td>
                </tr>
                <tr>
                    <td align=right><font face="Trebuchet MS, Comic Sans MS, Helvetica" size=2>Code postal</font></td>
                    <td> </td>
                    <td><input type=text name=cp value="<? echo $cp ?>"></td>
                </tr>
                <tr>
                    <td align=right><font face="Trebuchet MS, Comic Sans MS, Helvetica" size=2>Ville</font></td>
                    <td> </td>
                    <td><input type=text name=ville value="<? echo $ville ?>"></td>
                </tr>
                <tr>
                <td colspan=3 align=center>
                    <input type=submit value="Modifier">
                    </font>
                </td>
                </tr>
                </table>
            </td>
        </tr>
        </table>
        </td>
    </tr>
    </table>
    </form>
    Explication : voici l'explication de ces lignes
    Définition du formulaire pour la modification
  • du nom de la société (champ obligatoire, d'où la petite étoile rouge)
  • de l'adresse de la société
  • du code postal de la société
  • de la ville de la société
    Remarque :
  • le champ identifiant n'est pas modifiable !
  • tous les champs sont pre-renseignés avec les valeurs contenues dans la table (cf value='...')
  • 7 Voici la suite du fichier :
    <?
    } else {
    ?>
        Erreur de récupération...
    <?
    }
    mysql_free_result($result);
    ?>
    </center>
    </font>
    Explication : voici l'explication de ces lignes
    Si la recherche de la société dont l'identifiant est $id n'aboutie pas (cf. étape 5), on affiche un message d'erreur
    8 Voici la fin du fichier :
    <?
    deconnecte($conn);
    ?>
    </body>
    </html>
    Explication : voici l'explication de ces lignes
  • Déconnection de la base
  • Fermeture du fichier HTML




  • Création du fichier de redirection sur l'ajout d'une société (societeAdd.php3)
     


    Etape Description
    1 Si vous souhaitez récupérer le fichier societeAdd.php3, il se trouve dans l'archive societe.zip
    2 Créer un fichier societeAdd.php3 contenant le code de redirection sur la création d'une societe
    Voici le contenu du fichier :
    <?
    include "globale.inc.php3";
    include "fonction.inc.php3";
    $conn = connecte();
    societeAdd($nom, $adresse, $cp, $ville);
    deconnecte($conn);
    header("Location: liste_societes.php3");
    ?>
    Explication : voici l'explication de ces lignes
  • Chargement du fichier d'include globale.inc.php3 contenant les variables de l'application
  • Chargement du fichier d'include fonction.inc.php3 contenant les fonctions de l'application
  • Connexion à la base
  • Ajout de la société dans la base
  • Deconnexion
  • Redirection sur le fichier d'affichage de la liste des sociétés
    Remarque : Ce fichier ne sert que de redirection et permet uniquement d'enregistrer une société dans la base et de réafficher la page d'affichage de la liste des sociétés




  • Création du fichier de redirection sur la modification d'une société (societeMod.php3)
     


    Etape Description
    1 Si vous souhaitez récupérer le fichier societeMod.php3, il se trouve dans l'archive societe.zip
    2 Créer un fichier societeMod.php3 contenant le code de redirection sur la modification d'une societe
    Voici le contenu du fichier :
    <?
    include "globale.inc.php3";
    include "fonction.inc.php3";
    $conn = connecte();
    societeModify($id, $nom, $adresse, $cp, $ville);
    deconnecte($conn);
    header("Location: liste_societes.php3");
    ?>
    Explication : voici l'explication de ces lignes
  • Chargement du fichier d'include globale.inc.php3 contenant les variables de l'application
  • Chargement du fichier d'include fonction.inc.php3 contenant les fonctions de l'application
  • Connexion à la base
  • Modification de la société dans la base
  • Deconnexion
  • Redirection sur le fichier d'affichage de la liste des sociétés
    Remarque : Ce fichier ne sert que de redirection et permet uniquement de modifier une société dans la base et de réafficher la page d'affichage de la liste des sociétés




  • Création du fichier de redirection sur la suppression d'une société (societeDel.php3)
     


    Etape Description
    1 Si vous souhaitez récupérer le fichier societeDel.php3, il se trouve dans l'archive societe.zip
    2 Créer un fichier societeDel.php3 contenant le code de redirection sur la suppression d'une societe
    Voici le contenu du fichier :
    <?
    include "globale.inc.php3";
    include "fonction.inc.php3";
    $conn = connecte();
    societeDelete($id);
    deconnecte($conn);
    header("Location: liste_societes.php3");
    ?>
    Explication : voici l'explication de ces lignes
  • Chargement du fichier d'include globale.inc.php3 contenant les variables de l'application
  • Chargement du fichier d'include fonction.inc.php3 contenant les fonctions de l'application
  • Connexion à la base
  • Suppression de la société dans la base
  • Deconnexion
  • Redirection sur le fichier d'affichage de la liste des sociétés
    Remarque : Ce fichier ne sert que de redirection et permet uniquement de supprimer une société dans la base et de réafficher la page d'affichage de la liste des sociétés




  • Création du fichier pour l'affichage de la liste des contacts (liste_contacts.php3)
     


    Etape Description
    1 Si vous souhaitez récupérer le fichier liste_contacts.php3, il se trouve dans l'archive societe.zip
    2 Créer un fichier liste_contacts.php3 contenant le code d'affichage des contacts
    Voici le début du contenu du fichier :
    <?
    include "globale.inc.php3";
    include "fonction.inc.php3";
    $conn = connecte();
    ?>
    Explication : voici l'explication de ces lignes
  • Chargement du fichier d'include globale.inc.php3 contenant les variables de l'application
  • Chargement du fichier d'include fonction.inc.php3 contenant les fonctions de l'application
  • Connexion à la base
  • 3 Voici la suite du fichier :
    <html>
    <head>
    <script language="JavaScript">
    <!--
    function conf() {
        return (confirm("Etes-vous sur de vouloir supprimer ce contact ?"));
    }
    //-->
    </script>
    </head>
    Explication : voici l'explication de ces lignes
  • Début du fichier HTML
  • Définition de la procédure JavaScript pour la confirmation de la suppression d'un contact
  • 4 voici la suite du fichier :
    <body>
    <font face="Trebuchet MS, Comic Sans MS" size=2>
    <center>
    <? include "menu.html" ?>
    <br><br>
    liste des <b>contacts</b>
    <br><br>
    Explication : voici l'explication de ces lignes
    Définition des fontes, ajout de la page du menu et affichage du titre de la page
    5 Voici la suite du fichier :
    <table>
    <tr>
        <td align=center bgcolor="08119a">
            <font face="Trebuchet MS, Comic Sans MS" size=2 color="ffffff">
            Id
            </font>
        </td>
        <td align=center bgcolor="08119a">
            <font face="Trebuchet MS, Comic Sans MS" size=2 color="ffffff">
            Nom
            </font>
        </td>
        <td align=center bgcolor="08119a">
            <font face="Trebuchet MS, Comic Sans MS" size=2 color="ffffff">
            Prénom
            </font>
        </td>
        <td align=center bgcolor="08119a">
            <font face="Trebuchet MS, Comic Sans MS" size=2 color="ffffff">
            Téléphone
            </font>
        </td>
        <td align=center bgcolor="08119a">
            <font face="Trebuchet MS, Comic Sans MS" size=2 color="ffffff">
            Email
            </font>
        </td>
        <td align=center bgcolor="08119a">
            <font face="Trebuchet MS, Comic Sans MS" size=2 color="ffffff">
            Action
            </font>
        </td>    
    </tr>
    Explication : voici l'explication de ces lignes
    Affichage de l'entête du tableau contenant les informations des contacts :
  • Identifiant (id)
  • Nom (c'est avec cette colonne que l'on pourra accèder à la modification du contact)
  • Prénom
  • Téléphone
  • Email
  • Action (c'est avec cette colonne que l'on pourra supprimer le contact)
  • 6 voici la suite du fichier :
    <?
    $ligne = 1;
    $result = mysql_db_query($base, "select * from contact order by idcontact");
    while ($row = mysql_fetch_object($result)) {
        $id = $row->idcontact;
        $nom = $row->nom;
        $prenom = $row->prenom;
        $tel = $row->tel;
        $email = $row->email;
        ?>
        <tr>
            <td align=center bgcolor="<? if ($ligne > 0) echo "ffffff"; else echo "eeeeff"; ?>">
                <font face="Trebuchet MS, Comic Sans MS" size=2>
                <? echo $id ?>
                </font>
            </td>
            <td align=center bgcolor="<? if ($ligne > 0) echo "ffffff"; else echo "eeeeff"; ?>">
                <font face="Trebuchet MS, Comic Sans MS" size=2>
                <a href="modification_contact.php3?id=<? echo $id ?>"><? echo $nom ?></a>
                </font>
            </td>
            <td align=center bgcolor="<? if ($ligne > 0) echo "ffffff"; else echo "eeeeff"; ?>">
                <font face="Trebuchet MS, Comic Sans MS" size=2>
                <? echo $prenom ?>
                </font>
            </td>
            <td align=center bgcolor="<? if ($ligne > 0) echo "ffffff"; else echo "eeeeff"; ?>">
                <font face="Trebuchet MS, Comic Sans MS" size=2>
                <? echo $tel ?>
                </font>
            </td>
            <td align=center bgcolor="<? if ($ligne > 0) echo "ffffff"; else echo "eeeeff"; ?>">
                <font face="Trebuchet MS, Comic Sans MS" size=2>
                <? echo $email ?>
                </font>
            </td>
            <td align=center bgcolor="<? if ($ligne > 0) echo "ffffff"; else echo "eeeeff"; ?>">
                <font face="Trebuchet MS, Comic Sans MS" size=2>
                [<a href="contactDel.php3?id=<? echo $id ?>" onClick="return conf();">Sup</a>]
                </font>
            </td>
        </tr>
        <?
        $ligne = -$ligne;
    }
    mysql_free_result($result);
    ?>
    Explication : voici l'explication de ces lignes
    Exécution de la requête qui récupère la liste de tous les contacts de la table contact, triée par identifiant de contact
    Pour chacuns des enregistrements de la table, récupération
  • de l'identifiant du contact
  • du nom du contact (un lien est fait sur ce champ, permettant d'accèder à la page de modification du contact)
  • du prénom du contact
  • du téléphone du contact
  • de l'email du contact
    La dernière colonne du tableau permet de faire un lien sur la suppression du contact. Une confirmation est nécessaire par appel à la fonction JavaScript définie à l'étape 3
  • 7 Voici la suite du fichier :
    </table>
    <br>
    <a href="creation_contact.php3">Créer un nouveau contact</a>
    </center>
    </font>
    Explication : voici l'explication de ces lignes
    Fermeture du tableau et ajout du lien permettant la création d'un nouveau contact (en bas du tableau)
    8 Voici la fin du fichier :
    <?
    deconnecte($conn);
    ?>
    </body>
    </html>
    Explication : voici l'explication de ces lignes
  • Déconnection de la base
  • Fermeture du fichier HTML




  • Création du fichier pour la création d'un contact (creation_contact.php3)
     


    Etape Description
    1 Si vous souhaitez récupérer le fichier creation_contact.php3, il se trouve dans l'archive societe.zip
    2 Créer un fichier creation_contact.php3 contenant le code de création d'un contact
    Voici le début du contenu du fichier :
    <?
    include "globale.inc.php3";
    include "fonction.inc.php3";
    $conn = connecte();
    ?>
    Explication : voici l'explication de ces lignes
  • Chargement du fichier d'include globale.inc.php3 contenant les variables de l'application
  • Chargement du fichier d'include fonction.inc.php3 contenant les fonctions de l'application
  • Connexion à la base
  • 3 Voici la suite du fichier :
    <html>
    <head>
    <script language="JavaScript">
    <!--
    function validate(enreg) {
        val1 = document.enreg.nom.value;
        while('' + val1.charAt(0)==' ')
            val1 = val1.substring(1, val1.length);
        if (val1 == "") {
            alert("Veuillez saisir le nom.");
            document.enreg.nom.focus();
            return false;
        }
    }
    -->
    </script>
    </head>
    Explication : voici l'explication de ces lignes
  • Début du fichier HTML
  • Définition de la fonction JavaScript permettant de valider les données (le nom du contact est obligatoire)
  • 4 voici la suite du fichier :
    <body>
    <font face="Trebuchet MS, Comic Sans MS" size=2>
    <center>
    <? include "menu.html" ?>
    <br><br>
    Création d'un <b>contact</b>
    <br><br>
    Explication : voici l'explication de ces lignes
    Définition des fontes, ajout de la page du menu et affichage du titre de la page
    5 Voici la suite du fichier :
    <form action="contactAdd.php3" method="post" name=enreg onSubmit="return validate(this)">
    <table cellpadding=0 border=0>
    <tr>
        <td bgcolor="000000">
        <table width=100% cellpadding=3 cellspacing=1 border=0>
        <tr>
            <td bgcolor="08119a" align=center><font face="Trebuchet MS, Comic Sans MS, Helvetica" size=2 color="ffffff">Ajout d'un contact</td>
        </tr>
        <tr>
            <td bgcolor="eeeeff" align=center>
                <table width=100%>
                <tr>
                    <td align=right><font face="Trebuchet MS, Comic Sans MS, Helvetica" size=2>Nom</font></td>
                    <td align=center><font face="Trebuchet MS, Comic Sans MS, Helvetica" color="ff0000" size=2> <b>*</b> </font></td>
                    <td><input type=text name=nom></td>
                </tr>
                <tr>
                    <td align=right><font face="Trebuchet MS, Comic Sans MS, Helvetica" size=2>Prenom</font></td>
                    <td> </td>
                    <td><input type=text name=prenom></td>
                </tr>
                <tr>
                    <td align=right><font face="Trebuchet MS, Comic Sans MS, Helvetica" size=2>Téléphone</font></td>
                    <td> </td>
                    <td><input type=text name=tel></td>
                </tr>
                <tr>
                    <td align=right><font face="Trebuchet MS, Comic Sans MS, Helvetica" size=2>Email</font></td>
                    <td> </td>
                    <td><input type=text name=email></td>
                </tr>
                <tr>
                <td colspan=3 align=center>
                    <input type=submit value="Enregistrer">
                    </font>
                </td>
                </tr>
                </table>
            </td>
        </tr>
        </table>
        </td>
    </tr>
    </table>
    </form>
    </center>
    </font>
    Explication : voici l'explication de ces lignes
    Définition du formulaire pour la saisie
  • du nom du contact (champ obligatoire, d'où la petite étoile rouge)
  • du prénom du contact
  • du téléphone du contact
  • de l'email du contact
    Remarque : on ne saisie pas l'identifiant du contact car il est créé automatiquement par MySQL !
  • 6 Voici la fin du fichier :
    <?
    deconnecte($conn);
    ?>
    </body>
    </html>
    Explication : voici l'explication de ces lignes
  • Déconnection de la base
  • Fermeture du fichier HTML




  • Création du fichier pour la modification d'un contact (modification_contact.php3)
     


    Etape Description
    1 Si vous souhaitez récupérer le fichier modification_contact.php3, il se trouve dans l'archive societe.zip
    Ce fichier est assez similaire à celui de la création d'une contact, les seules différences étant
  • les valeurs des champs sont pré-renseignées (elles sont à vide pour la création)
  • la validation du formulaire appelle la page de redirection sur la modification (redirection sur la création pour la création)
  • 2 Créer un fichier modification_contact.php3 contenant le code de modification d'un contact
    Voici le début du contenu du fichier :
    <?
    include "globale.inc.php3";
    include "fonction.inc.php3";
    $conn = connecte();
    ?>
    Explication : voici l'explication de ces lignes
  • Chargement du fichier d'include globale.inc.php3 contenant les variables de l'application
  • Chargement du fichier d'include fonction.inc.php3 contenant les fonctions de l'application
  • Connexion à la base
  • 3 Voici la suite du fichier :
    <html>
    <head>
    <script language="JavaScript">
    <!--
    function validate(enreg) {
        val1 = document.enreg.nom.value;
        while('' + val1.charAt(0)==' ')
            val1 = val1.substring(1, val1.length);
        if (val1 == "") {
            alert("Veuillez saisir le nom.");
            document.enreg.nom.focus();
            return false;
        }
    }
    //-->
    </script>
    </head>
    Explication : voici l'explication de ces lignes
  • Début du fichier HTML
  • Définition de la fonction JavaScript permettant de valider les données (le nom du contac est obligatoire)
  • 4 voici la suite du fichier :
    <body>
    <font face="Trebuchet MS, Comic Sans MS" size=2>
    <center>
    <? include "menu.html" ?>
    <br><br>
    Modification d'un <b>contact</b>
    <br><br>
    Explication : voici l'explication de ces lignes
    Définition des fontes, ajout de la page du menu et affichage du titre de la page
    5 Voici la suite du fichier :
    <?
    $result = mysql_db_query($base, "select * from contact where idcontact='$id'");
    $row = mysql_fetch_object($result);
    if ($row) {
        $nom = $row->nom;
        $prenom = $row->prenom;
        $tel = $row->tel;
        $email = $row->email;
    ?>
    Explication : voici l'explication de ces lignes
    Récupération des données du contact dont l'identifiant est $id
    Si cet enregistrement existe, on prérenseigne les variables $nom, $prenom, $tel et $email qui serviront à fixer les valeurs par défaut
    6 Voici la suite du fichier :
    <form action="contactMod.php3" method="post" name=enreg onSubmit="return validate(this)">
    <table cellpadding=0 border=0>
    <tr>
        <td bgcolor="000000">
        <table width=100% cellpadding=3 cellspacing=1 border=0>
        <tr>
            <td bgcolor="08119a" align=center><font face="Trebuchet MS, Comic Sans MS, Helvetica" size=2 color="ffffff">Modification d'un contact</td>
        </tr>
        <tr>
            <td bgcolor="eeeeff" align=center>
                <table width=100%>
                <tr>
                    <td align=right><font face="Trebuchet MS, Comic Sans MS, Helvetica" size=2>Id</font></td>
                    <td> </td>
                    <td><? echo $id ?></td>
                </tr>
                <tr>
                    <td align=right><font face="Trebuchet MS, Comic Sans MS, Helvetica" size=2>Nom</font></td>
                    <td align=center><font face="Trebuchet MS, Comic Sans MS, Helvetica" color="ff0000" size=2> <b>*</b> </font></td>
                    <td><input type=hidden name=id value="<? echo $id ?>"><input type=text name=nom value="<? echo $nom ?>"></td>
                </tr>
                <tr>
                    <td align=right><font face="Trebuchet MS, Comic Sans MS, Helvetica" size=2>Prénom</font></td>
                    <td> </td>
                    <td><input type=text name=prenom value="<? echo $prenom ?>"></td>
                </tr>
                <tr>
                    <td align=right><font face="Trebuchet MS, Comic Sans MS, Helvetica" size=2>Téléphone</font></td>
                    <td> </td>
                    <td><input type=text name=tel value="<? echo $tel ?>"></td>
                </tr>
                <tr>
                    <td align=right><font face="Trebuchet MS, Comic Sans MS, Helvetica" size=2>Email</font></td>
                    <td> </td>
                    <td><input type=text name=email value="<? echo $email ?>"></td>
                </tr>
                <tr>
                <td colspan=3 align=center>
                    <input type=submit value="Modifier">
                    </font>
                </td>
                </tr>
                </table>
            </td>
        </tr>
        </table>
        </td>
    </tr>
    </table>
    </form>
    Explication : voici l'explication de ces lignes
    Définition du formulaire pour la modification
  • du nom du contact (champ obligatoire, d'où la petite étoile rouge)
  • du prénom du contact
  • du téléphone du contact
  • de l'email du contact
    Remarque :
  • le champ identifiant n'est pas modifiable !
  • tous les champs sont pre-renseignés avec les valeurs contenues dans la table (cf value='...')
  • 7 Voici la suite du fichier :
    <?
    } else {
    ?>
        Erreur de récupération...
    <?
    }
    mysql_free_result($result);
    ?>
    </center>
    </font>
    Explication : voici l'explication de ces lignes
    Si la recherche du contact dont l'identifiant est $id n'aboutie pas (cf. étape 5), on affiche un message d'erreur
    8 Voici la fin du fichier :
    <?
    deconnecte($conn);
    ?>
    </body>
    </html>
    Explication : voici l'explication de ces lignes
  • Déconnection de la base
  • Fermeture du fichier HTML




  • Création du fichier de redirection sur l'ajout d'un contact (contactAdd.php3)
     


    Etape Description
    1 Si vous souhaitez récupérer le fichier contactAdd.php3, il se trouve dans l'archive societe.zip
    2 Créer un fichier contactAdd.php3 contenant le code de redirection sur la création d'un contact
    Voici le contenu du fichier :
    <?
    include "globale.inc.php3";
    include "fonction.inc.php3";
    $conn = connecte();
    contactAdd($nom, $prenom, $tel, $email);
    deconnecte($conn);
    header("Location: liste_contacts.php3");
    ?>
    Explication : voici l'explication de ces lignes
  • Chargement du fichier d'include globale.inc.php3 contenant les variables de l'application
  • Chargement du fichier d'include fonction.inc.php3 contenant les fonctions de l'application
  • Connexion à la base
  • Ajout du contact dans la base
  • Deconnexion
  • Redirection sur le fichier d'affichage de la liste des contacts
    Remarque : Ce fichier ne sert que de redirection et permet uniquement d'enregistrer un contact dans la base et de réafficher la page d'affichage de la liste des contacts




  • Création du fichier de redirection sur la modification d'un contact (contactMod.php3)
     


    Etape Description
    1 Si vous souhaitez récupérer le fichier contactMod.php3, il se trouve dans l'archive societe.zip
    2 Créer un fichier contactMod.php3 contenant le code de redirection sur la modification d'un contact
    Voici le contenu du fichier :
    <?
    include "globale.inc.php3";
    include "fonction.inc.php3";
    $conn = connecte();
    contactModify($id, $nom, $prenom, $tel, $email);
    deconnecte($conn);
    header("Location: liste_contacts.php3");
    ?>
    Explication : voici l'explication de ces lignes
  • Chargement du fichier d'include globale.inc.php3 contenant les variables de l'application
  • Chargement du fichier d'include fonction.inc.php3 contenant les fonctions de l'application
  • Connexion à la base
  • Modification du contact dans la base
  • Deconnexion
  • Redirection sur le fichier d'affichage de la liste des contacts
    Remarque : Ce fichier ne sert que de redirection et permet uniquement de modifier un contact dans la base et de réafficher la page d'affichage de la liste des contacts




  • Création du fichier de redirection sur la suppression d'un contact (contactDel.php3)
     


    Etape Description
    1 Si vous souhaitez récupérer le fichier contactDel.php3, il se trouve dans l'archive societe.zip
    2 Créer un fichier contactDel.php3 contenant le code de redirection sur la suppression d'un contact
    Voici le contenu du fichier :
    <?
    include "globale.inc.php3";
    include "fonction.inc.php3";
    $conn = connecte();
    contactDelete($id);
    deconnecte($conn);
    header("Location: liste_contacts.php3");
    ?>
    Explication : voici l'explication de ces lignes
  • Chargement du fichier d'include globale.inc.php3 contenant les variables de l'application
  • Chargement du fichier d'include fonction.inc.php3 contenant les fonctions de l'application
  • Connexion à la base
  • Suppression du contact dans la base
  • Deconnexion
  • Redirection sur le fichier d'affichage de la liste des contacts
    Remarque : Ce fichier ne sert que de redirection et permet uniquement de supprimer un contact dans la base et de réafficher la page d'affichage de la liste des contacts




  • Création du fichier pour l'affichage de la liste des sociétés avec le nombre de contacts (select_societe.php3)
     


    Etape Description
    1 Si vous souhaitez récupérer le fichier select_societe.php3, il se trouve dans l'archive societe.zip
    2 Créer un fichier select_societe.php3 contenant le code d'affichage des sociétés et de leur nombre de contacts
    Voici le début du contenu du fichier :
    <?
    include "globale.inc.php3";
    include "fonction.inc.php3";
    $conn = connecte();
    ?>
    Explication : voici l'explication de ces lignes
  • Chargement du fichier d'include globale.inc.php3 contenant les variables de l'application
  • Chargement du fichier d'include fonction.inc.php3 contenant les fonctions de l'application
  • Connexion à la base
  • 3 Voici la suite du fichier :
    <html>
    <head>
    </head>
    Explication : voici l'explication de ces lignes
  • Début du fichier HTML
  • 4 voici la suite du fichier :
    <body>
    <font face="Trebuchet MS, Comic Sans MS" size=2>
    <center>
    <? include "menu.html" ?>
    <br><br>
    Selection de la <b>société</b> dont on souhaite afficher les <b>contacts</b>
    <br><br>
    Explication : voici l'explication de ces lignes
    Définition des fontes, ajout de la page du menu et affichage du titre de la page
    5 Voici la suite du fichier :
    <table>
    <tr>
        <td align=center bgcolor="08119a">
            <font face="Trebuchet MS, Comic Sans MS" size=2 color="ffffff">
            Nom de la société
            </font>
        </td>
        <td align=center bgcolor="08119a">
            <font face="Trebuchet MS, Comic Sans MS" size=2 color="ffffff">
            Nb contacts
            </font>
        </td>
    </tr>
    Explication : voici l'explication de ces lignes
    Affichage de l'entête du tableau contenant les informations des sociétés :
  • Le nom de la société (c'est avec cette colonne que l'on pourra accèder à la sélection des contacts à relier)
  • Le nombre de contacts actuellement reliés
  • 6 voici la suite du fichier :
    <?
    $ligne = 1;
    $result = mysql_db_query($base, "select * from societe order by idsociete");
    while ($row = mysql_fetch_object($result)) {
        $id = $row->idsociete;
        $nom = $row->nom;
        ?>
        <tr>
            <td align=center bgcolor="<? if ($ligne > 0) echo "ffffff"; else echo "eeeeff"; ?>">
                <font face="Trebuchet MS, Comic Sans MS" size=2>
                <a href="lien_societe_contacts.php3?id=<? echo $id ?>"><? echo $nom ?></a>
                </font>
            </td>
            <td align=center bgcolor="<? if ($ligne > 0) echo "ffffff"; else echo "eeeeff"; ?>">
                <font face="Trebuchet MS, Comic Sans MS" size=2>
                <? echo getNbContacts($id) ?>
                </font>
            </td>
        </tr>
        <?
        $ligne = -$ligne;
    }
    mysql_free_result($result);
    ?>
    Explication : voici l'explication de ces lignes
    Exécution de la requête qui récupère la liste de toutes les sociétés de la table societe, triée par identifiant de société
    Pour chacuns des enregistrements de la table, récupération
  • de l'identifiant de la société (en tant que champ caché)
  • du nom de la société (un lien est fait sur ce champ, permettant d'accèder à la page de sélection des contacts à relier)
  • du nombre de contacts reliés
  • 7 Voici la suite du fichier :
    </table>
    </center>
    </font>
    Explication : voici l'explication de ces lignes
    Fermeture du tableau
    8 Voici la fin du fichier :
    <?
    deconnecte($conn);
    ?>
    </body>
    </html>
    Explication : voici l'explication de ces lignes
  • Déconnection de la base
  • Fermeture du fichier HTML




  • Création du fichier pour l'affichage de la liste des contacts d'une société donnée (lien_societe_contacts.php3)
     


    Etape Description
    1 Si vous souhaitez récupérer le fichier lien_societe_contacts.php3, il se trouve dans l'archive societe.zip
    2 Créer un fichier lien_societe_contacts.php3 contenant le code d'affichage des contacts d'une société
    Voici le début du contenu du fichier :
    <?
    include "globale.inc.php3";
    include "fonction.inc.php3";
    $conn = connecte();
    ?>
    Explication : voici l'explication de ces lignes
  • Chargement du fichier d'include globale.inc.php3 contenant les variables de l'application
  • Chargement du fichier d'include fonction.inc.php3 contenant les fonctions de l'application
  • Connexion à la base
  • 3 Voici la suite du fichier :
    <html>
    <head>
    </head>
    Explication : voici l'explication de ces lignes
  • Début du fichier HTML
  • 4 voici la suite du fichier :
    <body>
    <font face="Trebuchet MS, Comic Sans MS" size=2>
    <center>
    <? include "menu.html" ?>
    <br><br>
    liste des <b>contacts</b> pour la société <i><b><? echo getSocieteNom($id) ?></b></i>
    <br><br>
    Explication : voici l'explication de ces lignes
    Définition des fontes, ajout de la page du menu et affichage du titre de la page
    5 Voici la suite du fichier :
    <form action="lienMod.php3" method="get" name=enreg">
    <table>
    <tr>
        <td align=center bgcolor="08119a">
            <font face="Trebuchet MS, Comic Sans MS" size=2 color="ffffff">
            Lien
            </font>
        </td>
        <td align=center bgcolor="08119a">
            <font face="Trebuchet MS, Comic Sans MS" size=2 color="ffffff">
            Nom
            </font>
        </td>
    </tr>
    Explication : voici l'explication de ces lignes
    Définition du formulaire permettant de faire le lien entre une société et les contacts
    Affichage de l'entête du tableau contenant les informations des liens :
  • Lien pour savoir si il existe un lien entre la société et le contact
  • Nom de la société
  • 6 voici la suite du fichier :
    <?
    $ligne = 1;
    $result = mysql_db_query($base, "select * from contact order by idcontact");
    while ($row = mysql_fetch_object($result)) {
        $idcontact = $row->idcontact;
        $nom = $row->nom;
        ?>
        <tr>
            <td align=center bgcolor="<? if ($ligne > 0) echo "ffffff"; else echo "eeeeff"; ?>">
                <font face="Trebuchet MS, Comic Sans MS" size=2>
                <input type=hidden name=idsociete value='<? echo $id ?>'>
                <input type=checkbox value=<? echo $idcontact ?> name=contact[]<? if (isLinkSocieteContact($id, $idcontact) == 1) echo ' checked' ?>>
                </font>
            </td>
            <td align=center bgcolor="<? if ($ligne > 0) echo "ffffff"; else echo "eeeeff"; ?>">
                <font face="Trebuchet MS, Comic Sans MS" size=2>
                <? echo $nom ?>
                </font>
            </td>
        </tr>
        <?
        $ligne = -$ligne;
    }
    mysql_free_result($result);
    ?>
    Explication : voici l'explication de ces lignes
    Exécution de la requête qui récupère la liste de tous les contacts de la table contact, triée par identifiant de contact
    Pour chacuns des enregistrements de la table, récupération
  • de l'identifiant du contact (en tant que champ caché)
  • du nom du contact
  • du lien éventuel entre la société et le contact
    Remarque : si il y a un lien entre le contact et la société, la case 'lien' est cochée, sinon elle est vide
  • 7 Voici la suite du fichier :
    </table>
    <br>
    <input type=submit value="Modifier">
    </form>
    <br>
    </center>
    </font>
    Explication : voici l'explication de ces lignes
    Fermeture du tableau et du formulaire
    8 Voici la fin du fichier :
    <?
    deconnecte($conn);
    ?>
    </body>
    </html>
    Explication : voici l'explication de ces lignes
  • Déconnection de la base
  • Fermeture du fichier HTML




  • Création du fichier pour la redirection sur la modification des liens societes - contacts (lienMod.php3)
     


    Etape Description
    1 Si vous souhaitez récupérer le fichier lienMod.php3, il se trouve dans l'archive societe.zip
    2 Créer un fichier lienMod.php3 contenant le code de redirection sur la modification d'un contact
    Voici le contenu du fichier :
    <?
    include "globale.inc.php3";
    include "fonction.inc.php3";
    $conn = connecte();
    deleteAllLinkSocieteContact($idsociete);
    for ($i = 0; $i < count($contact); $i++) {
        makeLinkSocieteContact($idsociete, $contact[$i]);
    }
    deconnecte($conn);
    header("Location: select_societe.php3");
    ?>
    Explication : voici l'explication de ces lignes
  • Chargement du fichier d'include globale.inc.php3 contenant les variables de l'application
  • Chargement du fichier d'include fonction.inc.php3 contenant les fonctions de l'application
  • Connexion à la base
  • Suppression de tous les liens société - contact pour la société dont l'identifiant est $idsociete
  • Pour chacuns des contacts séléctionnés dans le formulaire, ajout d'un lien société - contact
  • Deconnexion
  • Redirection sur le fichier d'affichage de la liste des sociétés avec leur nombre de contacts
    Remarque : Ce fichier ne sert que de redirection et permet uniquement de modifier les liens société - contact dans la base et de réafficher la page d'affichage de la liste des sociétés avec leur nombre de contact




  • Conclusion
     


    Je pense qu'avec ca, vous comprendrez comment faire des accès à une table de la base de données, dans les 3 modes possibles :
  • ajout
  • modification
  • suppression

    Vous devez également savoir à présent comment faire un lien entre 2 tables...

    Rappels :

    Avant de commencer votre développement :
  • Lancez le serveur Apache
  • Lancez le serveur MySQL

    Pendant le développement :
  • Déposez vos sources dans la racine de votre site web ou dans un sous-répertoire de cette racine

    Avant de quitter :
  • Arrêtez le serveur MySQL
  • Arrêtez le serveur Apache


    © Floppy /AD - 08/2001