Académique Documents
Professionnel Documents
Culture Documents
SUPPORT DE COURS
LANGAGE ÉVOLUÉ – PHP
2ème Année BTS Informatique Développeur d’Application
Note : Ce support est un supplément pour le cours de PHP au programme de 2 ème année du BTS
option Informatique Développeur d’Application. Il ne peut par conséquent se substituer au cours
donné par l’enseignant en classe.
SYSG TRAINING
M. GOGBE Benjamin – Professeur d’Algorithmique et programmation 1
Support de cours Module Langage de programmation PHP 2 ème Année BTS Informatique Développeur d’Application
Introduction à PHP
S1 2H
Chap I : Un environnement de travail : WAMP
S5 2H
Chap VII : Les formulaires
S6 3H
S9
TP : Mini-Projet 6H
S10
INTRODUCTION
Lorsque vous concevez une application web, il vous sera nécessaire de stocker les données
afin les consulter, en ajouter, les modifier ou les supprimer. D’où l’importance des bases de
données.
Par définition, une base de données est un ensemble d’informations organisées,
hiérarchisées et stockées sur un support informatique. Cette organisation permet d’accéder
aisément aux informations afin de faire des ajouts, des mises à jour, des consultations et des
suppressions.
Dans le cadre du développement d’application web, plusieurs SGBR (Système de Gestion de
Bases de Données Relationnelles) dont les plus utilisés sont :
- MySQL : gratuit et libre, il reste le plus utilisé,
- PostGreSQL : comme MySQL, il est libre et gratuit, mais possède plus de
fonctionnalités,
- SQLite : libre et gratuit. Il est léger mais possède moins de fonctionnalités,
- Oracle : payant et très cher, il est utilisé dans la conception de grosses bases de
données,
- Microsoft SQL Server : Payant comme Oracle
I- PRESENTATION DE MYSQL
MySQL est un serveur de gestion de bases de données relationnelles (SGBDR) dont les
principaux atouts sont la rapidité, la robustesse et la facilité d’utilisation. Ces avantages font
de lui le SGBDR le plus utilisé pour les applications web.
Il est disponible sous deux licences, la licence GPL (General Public License) des projets GNU
et FSF (Free Software Foundation) et une licence propriétaire moins contraignante mais
payante.
Il a été créé dans les années 1970 et est devenu standard en 1986 (pour la norme ANSI) et
en 1987 pour la norme ISO.
MySQL est la propriété de la société Oracle Corporation depuis 2010.
NB : Il faut noter qu’à l’installation de WampServer, il est installé conjointement Apache,
PHP, MySQL et PHPMyAdmin.
Cet outil est installé dans le package Wampserver. Toutefois, il peut être téléchargé
individuellement sur le site http://www.phpmyadmin.net/, décompressé et placé dans le
dossier du serveur web.
Il faudra éditer ensuite le fichier config.inc.php en modifiant des valeurs pour configurer le
serveur MySQL. Après configuration, nous pouvons avoir ceci, par exemple :
$cfg['Servers'][$i]['host'] = 'localhost';
$cfg['Servers'][$i]['auth_type'] = 'http';
$cfg['Servers'][$i]['user'] = 'nomutilisateur;
$cfg['Servers'][$i]['password'] = 'mot_de_passe';
Convention de nommage :
Pour donner un nom à une base de données, une table ou un champ de table, il faut
respecter les règles suivantes :
- Le nom peut contenir les caractères alphanumériques et de soulignement (_) ainsi
que le signe dollar ($),
- Le nombre de caractères est limité à 64, extensible à 255 pour les noms d’alias,
- Un nom peut commencer par un chiffre mais ne doit pas contenir que des chiffres,
- On considère que MySQL est sensible à la casse pour éviter le piège de changement
de système d’exploitation
Méthode graphique
Cliquer l’onglet Base de données et saisir dans la zone base de données le nom de la base
puis choisir l’encodage des caractères. Enfin cliquer le bouton Créer.
Méthode graphique
Cliquer l’onglet Base de données et cocher la base de données à supprimer, dans la liste des
base de données et cliquer le bouton Supprimer.
Exemple:
DROP DATABASE IF EXISTS bdbonappetit ;
V- CREATION DE TABLES
1- Les types ou moteurs de stockage de tables
Il convient de noter qu’il existe plusieurs types de tables ayant chacun des avantages et des
inconvénients. Le choix judicieux du type de table permettra d’avoir une base de données
optimale.
Les différents types de tables MySQL sont : ISAM, MyISAM, HEAP, InnoDB, Berkeley DB. Ces
types sont regroupés en deux grands groupes : les tables transactionnelles (ISAM, MyISAM,
HEAP, MERGE) et les tables non transactionnelles (InnoDB, Berkeley DB).
Les tables transactionnelles ont l’avantage :
- Gérer les restaurations après crash c-à-d qu’en cas de d’erreur ou de crash de
MysQL, les données sont facilement récupérables ;
- de gérer les transactions c-à-d de permettre le regroupement de plusieurs
commandes et de les exécuter une seule fois avec la commande COMMIT ; utiliser la
commande ROLLBACK pour annuler les modifications ; annuler les changements en
cas d’échec de mis à jour ;
- gérer les clés étrangères
3- Création de tables
Mise en situation
On se propose de créer une base de données pour l’entreprise de restauration en ligne BON
APPETIT.
Cette base de données contient les tables : Recettes, Restaurants, Clients, Commandes,
Détails Commandes.
Mode graphique
Saisir le nom de la table et le nombre de champs, puis cliquer le bouton Exécuter.
La commande SQL
Syntaxe :
CREATE TABLE [ IF NOT EXISTS] Nom_table (
colonne1 description_colonne1,
[ colonne2 description_colonne2,
colonne3 description_colonne3,
...,]
[ PRIMARY KEY ( colonne_clé_primaire) ]
)[
ENGINE=moteur] ;
Exemple :
CREATE TABLE IF NOT EXISTS `bdbonappetit`.`recettes`(
`idrecette` INT UNSIGNED NOT NULL AUTO_INCREMENT,
`nomrecette` VARCHAR(60) NOT NULL,
`descrecette` TEXT NOT NULL,
`prix` INT NOT NULL,
`nbpers` TINYINT NOT NULL,
`disponibilite`
SET
('Matin', 'Midi', 'Apres Midi', 'Soir') NOT NULL,
PRIMARY KEY(`idrecette`)
) ENGINE = InnoDB COMMENT = 'Recettes proposé';
4- Modification de tables
La modification de table consiste à ajouter, modifier ou supprimer des colonnes de celle-ci.
En code SQL, cela se fait avec la commande ALTER TABLE.
Syntaxe SQL :
ALTER TABLE nom_table ADD [COLUMN]. . . -- permet d'ajouter quelque chose (une
colonne par exemple)
ALTER TABLE nom_table DROP [COLUMN].. . . -- permet de retirer quelque chose
ALTER TABLE nom_table CHANGE . . . -- changer le nom de la colonne
ALTER TABLE nom_table MODIFY [COLUMN]. . . -- permettent de modifier une
colonne
ALTER TABLE nom_table ADD PRIMARY KEY (index_nom_colonne,...)
Exemple 1 :
ALTER TABLE recettes ADD note SMALLINT NULL; -- Ajoute un champ note à la table
Exemple 2 :
ALTER TABLE recettes CHANGE note noteclient INT; -- Modifie le nom du champ et le
type
Exemple 3 :
ALTER TABLE recettes MODIFY noteclient SMALLINT; -- Modifie le type
Exemple 4 :
ALTER TABLE recettes DROP noteclient; -- Supprime la colonne
Mode graphique
5- Suppression de tables
La suppression de la table supprime tous les champs et les données de la table.
Mode graphique
Il suffit d’afficher la structure de la base de données, sélectionner la table à supprimer et
cliquer le bouton Supprimer et valider la suppression.
Mode SQL
Syntaxe :
DROP TABLE [IF EXISTS] nom_table;
Exemple :
DROP TABLE recettes;