Vous êtes sur la page 1sur 12

Support de cours Module Langage de programmation PHP 2 ème Année BTS Informatique Développeur d’Application

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

VUE D’ENSEMBLE DE LA PROGRESSION ANNUELLE


Durée
Contenu détaillé Séance Observation
estimée

Introduction à PHP
S1 2H
Chap I : Un environnement de travail : WAMP

Chap II : Les bases de PHP S1, S2 4H

Chap III : Les fonctions S3 3H

Chap IV : Les structures conditionnelles S4 1H30

Chap V : Les boucles S4 1H30

Chap VI : Les inclusions de fichiers S5 1H

S5 2H
Chap VII : Les formulaires
S6 3H

Chap VIII : Les bases de données MySQL S7 3H

Chap IX : Utilisation de PHP et les bases de


S8 3H
données

S9
TP : Mini-Projet 6H
S10

VOLUME HORAIRE TOTAL 30H

M. GOGBE Benjamin – Professeur d’Algorithmique et programmation 2


Support de cours Module Langage de programmation PHP 2 èm e Année BTS Informatique Développeur d’Application

Chapitre VIII : Les bases de données


MySQL

M. GOGBE Benjamin – Professeur d’Algorithmique et programmation 3


Support de cours Module Langage de programmation PHP 2 ème Année BTS Informatique Développeur d’Application

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.

II- INSTALLATION DE MYSQL


Pour télécharger MySQL, il est possible de se rendre sur le site internet ci-dessous :
http://dev.mysql.com/downloads/mysql/#downloads
Télécharger la version qui correspond à votre système d’exploitation.

NB : Il faut noter qu’à l’installation de WampServer, il est installé conjointement Apache,
PHP, MySQL et PHPMyAdmin.

L’utilisation de MySQL peut se faire soit en mode console ou en mode graphique.


Pour un apprentissage plus rapide, le mode graphique reste plus convenable.
Dans ce dernier mode, l’administration des bases de données MySQL peut se faire avec des
outils Open Source dont le plus connu est phpMyAdmin.
phpMyAdmin est un outil développé en PHP destiné à faciliter la gestion d’un ensemble de
bases de données MySQL et cela à l’aide d’un simple navigateur.

phpMyAdmin permet d’opérer facilement les tâches d’administration courantes, de créer


une structure de tables rapidement ou de tester les requêtes pendant le développement.

M. GOGBE Benjamin – Professeur d’Algorithmique et programmation 4


Support de cours Module Langage de programmation PHP 2 ème Année BTS Informatique Développeur d’Application

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'; 

III- DEMARRAGE DE PHPMYADMIN


Cliquer sur l’icône de WampServer dans la barre des tâches et sur l’option phpMyAdmin. Ou
encore taper dans la barre d’adresse http://localhost/phpmyadmin

Saisir les paramètres de connexion (nom utilisateur et mot de passe)

Figure 1: Fenêtre de connexion au serveur

Interface d’administration de phpMyAdmin

M. GOGBE Benjamin – Professeur d’Algorithmique et programmation 5


Support de cours Module Langage de programmation PHP 2 ème Année BTS Informatique Développeur d’Application

Figure 2: Ecran d'accueil de PHPMysAdmin

M. GOGBE Benjamin – Professeur d’Algorithmique et programmation 6


Support de cours Module Langage de programmation PHP 2 ème Année BTS Informatique Développeur d’Application

IV- CREATION ET SUPPRESSION DE BASES DE DONNEES


1- Création de base de données

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.

Figure 3:Creation de base de données Bonappetit


Code SQL
Cliquer l’onglet SQL et saisir dans la zone du code SQL, puis cliquer le bouton Exécuter.
CREATE DATABASE IF NOT EXISTS nom_base CHARACTER SET 'encodage';
Exemple :
CREATE DATABASE IF NOT EXISTS bdbonappetit CHARACTER SET 'utf8';

NB: La définition du type d’encodage des caractères permet d’attribuer automatiquement le


même type d’encodage aux tables qui seront créées.

2- Suppression de base de données


La suppression d’une base de données entraine la suppression des tables qui la contiennent.

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.

Figure 4: Suppression de base de données


La commande SQL :
DROP DATABASE IF EXISTS nombase ;

M. GOGBE Benjamin – Professeur d’Algorithmique et programmation 7


Support de cours Module Langage de programmation PHP 2 ème Année BTS Informatique Développeur d’Application

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

Quant aux tables non transactionnelles, elles ont l’avantage de :


- d’être plus rapides
- d’occuper moins de mémoire pour les mises à jour
- d’utiliser moins d’espace disque dur
Parmi les moteurs de stockage, les plus connus sont MyISAM et InnoDB.

2- Les types de données MySQL


- Les types numériques
Les types numériques permettent de stocker toutes sortes de valeurs numériques entières
ou décimales avec des intervalles de valeurs très étendus.
Types Intervalles de valeurs et caractéristiques
TINYINT Un très petit entier prenant des valeurs de –128 (– 27) à 127 (27 – 1). Chaque
valeur est codée sur 1 octet
SMALLINT Un petit entier prenant des valeurs de –32768 (– 215) à 32767 (215 – 1). Chaque
valeur est codée sur 2 octets
MEDIUMINT Entier moyen prenant des valeurs de –8388608 (– 223) à 8388607 (223 – 1).
Chaque valeur occupe 3 octets
INT ou Entier prenant des valeurs de –2147483648 (– 231) à 2147483647 (231 – 1).
INTEGER Chaque valeur occupe 4 octets
BIGINT Grand entier prenant des valeurs de –9223372036854775808 (– 263) à
9223372036854775807 (263 – 1). Chaque valeur occupe 8 octets
FLOAT Nombre à virgule flottante en simple précision prenant des valeurs de
–3.402823466E+38 à –1.75494351E–38 pour les nombres négatifs et de
1.75494351E–38 à 3.402823466E+38 pour les positifs. Chaque valeur occupe 4
octets
DOUBLE Nombre à virgule flottante en double précision prenant des valeurs
de   – 1.7976931348623157E+308 à – 2.2250738585072014E– 308
pour les nombres négatifs et de 2.2250738585072014E–308 à
1.7976931348623157E+308 pour les positifs, auxquelles s’ajoute la valeur
exacte de 0. Chaque valeur occupe 8 octets
M. GOGBE Benjamin – Professeur d’Algorithmique et programmation 8
Support de cours Module Langage de programmation PHP 2 ème Année BTS Informatique Développeur d’Application

- Les types chaines de caractères


Types Intervalles de valeurs et caractéristiques
CHAR(M) Chaîne de caractères de longueur fixe de M (0 à 255) caractères complétée par
des espaces si la donnée stockée est plus petite.
VARCHAR(M) Chaîne de caractères de longueur variable comprise entre 1 et M (1 à 255)
caractères.
TEXT Texte d’une longueur comprise entre 1 et 65 535 caractères. Le type BLOB
BLOB est sensible à la casse.
MEDIUMTEXT Texte d’une longueur comprise entre 1 et 16 777 215 caractères. Le type
MEDIUMBLOB MEDIUMBLOB est sensible à la casse.
ENUM('chaine1', Permet le choix d’une seule valeur parmi l’énumération des N chaînes de
..., 'chaineN') caractères définies dans le type.
SET('chaine1', ... Permet le choix d’une ou plusieurs valeurs simultanément parmi l’ensemble
, des N chaînes de caractères définies dans le type.
'chaineN')

- Les types de dates et d’heures


Types Intervalles de valeurs et caractéristiques
DATE Une date au format AAAA-MM-JJ dans l’intervalle de 1000-01-01 à 9999-12-
31. Chaque enregistrement occupe 3 octets.
DATETIME Contient la date et l’heure au format AAAA-MM-JJ HH:MM:SS dans l’intervalle
de 1000-01-01 00:00:00 à 9999-12-31 23:59:59. Chaque enregistrement
occupe 8 octets.
TIMESTAMP[(M) Stocke une date complète sous la forme AAAAMMJJHHMMSS.
] Exemple : TIMESTAMP(14)  AAAAMMJJHHMMSS
TIME Stocke l’heure au format HH:MM:SS ou HHH:MM:SS pour un intervalle de
valeurs allant de – 838:59:59 à 838:59:59 permettant d’effectuer des calculs
de durée excédant 24 heures. Chaque enregistrement occupe 3 octets.
YEAR Représente les années au format YYYY pour un intervalle allant de 1901 à
2155. Chaque enregistrement occupe 1 octet.

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.

Commençons par créer la table RECETTES.

M. GOGBE Benjamin – Professeur d’Algorithmique et programmation 9


Support de cours Module Langage de programmation PHP 2 ème Année BTS Informatique Développeur d’Application

Mode graphique
Saisir le nom de la table et le nombre de champs, puis cliquer le bouton Exécuter.

Figure 5: Création de table Recettes


Saisir ensuite les champs et définir leurs types respectifs.

Figure 6: Ajout des colonnes à la table Recettes

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é';

M. GOGBE Benjamin – Professeur d’Algorithmique et programmation 10


Support de cours Module Langage de programmation PHP 2 ème Année BTS Informatique Développeur d’Application

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

Figure 7: Structure de la table Recettes


Pour modifier une table en mode graphique, il suffit d’afficher la structure de la table, de
sélectionner le ou les champs à modifier ou supprimer et cliquer sur le bouton qui convient,
apporter les modifications et valider les modifications.
Pour ajouter un ou des colonnes, choisir le nombre de colonnes à ajouter au bas de l’écran,
et cliquer le bouton Exécuter. Ensuite, décrire les nouvelles colonnes et valider.

Figure 8: Modification de la colonne noteclient

M. GOGBE Benjamin – Professeur d’Algorithmique et programmation 11


Support de cours Module Langage de programmation PHP 2 ème Année BTS Informatique Développeur d’Application

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.

Figure 9: Suppression de la table Recettes

Mode SQL
Syntaxe :
DROP TABLE [IF EXISTS] nom_table;
Exemple :
DROP TABLE recettes;

M. GOGBE Benjamin – Professeur d’Algorithmique et programmation 12

Vous aimerez peut-être aussi