PHP & MYSQL
1. Une base de donnée ?
Rappel : Affichage d’une page web
Client InternetClient http
Serveur physique
http://thecorneliusclub.com Requête http
Requête http
SQL Document
Données
Définition : Base De Donnée
Une base de données est un outil permettant de stocker et de
retrouver l'intégralité de données brutes ou d'informations en
rapport avec une activité ; celles-ci peuvent être de natures
différentes et plus ou moins reliées entre elles. Dans la très
grande majorité des cas, ces informations sont très structurées,
et la base est localisée dans un même lieu et sur un même
support. Ce dernier est généralement informatisé.
Source : fr.wikipedia.org
Définition : SGBD
En informatique un système de gestion de base de données est
un logiciel système destiné à stocker et à partager des
informations dans une base de données, en garantissant la qualité,
la pérennité et la confidentialité des informations, tout en cachant
la complexité des opérations.
Source : fr.wikipedia.org
Exemples de SGBD
Définition : Bases et tables
Dans les bases de données relationnelles, une table est un ensemble
de données organisées sous forme d'un tableau où les colonnes
correspondent à des catégories d'information (une colonne peut
stocker des numéros de téléphone, une autre des noms...) et les
lignes à des enregistrements, également appelés entrées.
Source : fr.wikipedia.org
Exemple : Bases et tables
Base « Game Of Thrones »
Id Nom Prénom
1 Snow Jon
2 Stark Arya
Id Nom
1 Winterfell
2 Harrenhal
3 Vivesaigues
Table « Personages » Table « Lieux »
Définition : clé primaire
Dans une base de données relationnelle, une clé primaire est une
contrainte d'unicité qui permet d'identifier de manière unique un
enregistrement dans une table. Une clé primaire peut être
composée d'un ou de plusieurs champs de la table. Deux lignes
distinctes de la table ne peuvent pas avoir les mêmes valeurs pour
les champs définis au niveau de la clé primaire.
Source : fr.wikipedia.org
2. Administrer une base de donnée
Outils
sequelpro.comphpmyadmin.net
Accéder à phpMyAdmin
WAMP : Via l'icône de la barre des taches
MAMP : http://localhost:8888/MAMP/
phpMyAdmin (1)
phpMyAdmin (2)
Créer une base de donnée « ecole »
Interclassement : utf8_unicode_ci
phpMyAdmin (3)
phpMyAdmin (4)
Créer une table « classement »
Nombre de colonnes : 4
phpMyAdmin (5)
phpMyAdmin (6)
Colonne 1 : id / int / primary / A_I
Colonne 2 : nom / varchar / 255
Colonne 3 : score / int
Colonne 4 : temps / int
3. PHP & MYSQL
PHP Data Objects
PDO (PHP Data Objects), extension définissant l'interface pour
accéder à une base de données depuis PHP.
Source : fr.wikipedia.org
PHP Data Objects
PDO
Se connecter à la base de donnée
<?php
$bdd = new PDO('mysql:host=localhost;dbname=blog', 'root', '');
?>
‘localhost’ : nom de l'hôte de la bdd
‘blog’ => nom de la bdd
‘root’ : login de connexion
‘’ => mot de passe de connexion
Tester la connexion à la base de donnée
<?php
try{
$pdo_options[PDO::ATTR_ERRMODE] = PDO::ERRMODE_EXCEPTION;
$bdd = new PDO('mysql:host=localhost;dbname=blog', 'root', '', $pdo_options);
}
catch (Exception $e){
die('Erreur : ' . $e->getMessage());
}
?>
4. Lire des données
Récupérer les données
<?php
$reponse = $bdd->query('requête SQL');
// Traitement des données
$reponse->closeCursor();
?>
Parcourir les données
<?php
$reponse = $bdd->query('requête SQL');
while ($donnees = $reponse->fetch())
{
echo $donnees['nom_du_champ'];
}
$reponse->closeCursor();
?>
4.1 Structured Query Language
Structured Query Language ?
SQL (sigle de Structured Query Language) est un langage
informatique normalisé servant à exploiter des bases de
données relationnelles. La partie langage de manipulation des
données de SQL permet de rechercher, d'ajouter, de modifier
ou de supprimer des données dans les bases de données
relationnelles.
Source : fr.wikipedia.org
Rechercher des données (1)
SELECT * FROM billet
Sélectionner tous les champs de tous les
enregistrement de la table billet.
Rechercher des données (2)
SELECT titre, contenu FROM billet
Sélectionner les champs titre et billet de
tous les enregistrement de la table billet.
Rechercher des données (3)
SELECT titre, contenu FROM billet WHERE id = 1
Sélectionner les champs titre et billet de
l’enregistrement ayant l’id 1 de la table billet.
Rechercher des données (4)
SELECT titre, contenu FROM billet ORDER BY titre
Sélectionner les champs titre et billet de
tous les enregistrement de la table billet classé par titre.
4. Ajouter, modifier et supprimer des données
Ajouter un enregistrement
<?php
$req = $bdd->prepare('INSERT INTO article(titre, contenu, auteur) VALUES(:titre, :contenu, :auteur)');
$req->execute(array(
'titre' => $superTitre,
'contenu' => $contenu,
'auteur' => 'Jean MICHEL'
));
?>
Modifier un enregistrement
<?php
$req = $bdd->prepare('UPDATE article SET titre = :titre WHERE id = :id');
$req->execute(array(
'titre' => $titre,
'id' => $id
));
?>
Supprimer un enregistrement
<?php
$req = $bdd->prepare("DELETE FROM article WHERE id=:id");
$req->execute(array('id' => $id));
?>
4. Mise en pratique
Exercice : En route pour l’école !
A la fin du quizz, sauvegarder le nom et le score de
l’utilisateur dans la base de donnée.
Sur la page classement afficher les meilleurs scores.
Créer la page « classement », écrans disponibles ici :
https://www.dropbox.com/sh/2acjriyz16wzwgo/AABqbnLoAkw_LHwWEfOekBHOa?dl=0
Merci pour votre attention.

PHP #6 : mysql

  • 1.
  • 2.
    1. Une basede donnée ?
  • 3.
    Rappel : Affichaged’une page web Client InternetClient http Serveur physique http://thecorneliusclub.com Requête http Requête http SQL Document Données
  • 4.
    Définition : BaseDe Donnée Une base de données est un outil permettant de stocker et de retrouver l'intégralité de données brutes ou d'informations en rapport avec une activité ; celles-ci peuvent être de natures différentes et plus ou moins reliées entre elles. Dans la très grande majorité des cas, ces informations sont très structurées, et la base est localisée dans un même lieu et sur un même support. Ce dernier est généralement informatisé. Source : fr.wikipedia.org
  • 5.
    Définition : SGBD Eninformatique un système de gestion de base de données est un logiciel système destiné à stocker et à partager des informations dans une base de données, en garantissant la qualité, la pérennité et la confidentialité des informations, tout en cachant la complexité des opérations. Source : fr.wikipedia.org
  • 6.
  • 7.
    Définition : Baseset tables Dans les bases de données relationnelles, une table est un ensemble de données organisées sous forme d'un tableau où les colonnes correspondent à des catégories d'information (une colonne peut stocker des numéros de téléphone, une autre des noms...) et les lignes à des enregistrements, également appelés entrées. Source : fr.wikipedia.org
  • 8.
    Exemple : Baseset tables Base « Game Of Thrones » Id Nom Prénom 1 Snow Jon 2 Stark Arya Id Nom 1 Winterfell 2 Harrenhal 3 Vivesaigues Table « Personages » Table « Lieux »
  • 9.
    Définition : cléprimaire Dans une base de données relationnelle, une clé primaire est une contrainte d'unicité qui permet d'identifier de manière unique un enregistrement dans une table. Une clé primaire peut être composée d'un ou de plusieurs champs de la table. Deux lignes distinctes de la table ne peuvent pas avoir les mêmes valeurs pour les champs définis au niveau de la clé primaire. Source : fr.wikipedia.org
  • 10.
    2. Administrer unebase de donnée
  • 11.
  • 12.
    Accéder à phpMyAdmin WAMP: Via l'icône de la barre des taches MAMP : http://localhost:8888/MAMP/
  • 13.
  • 14.
    phpMyAdmin (2) Créer unebase de donnée « ecole » Interclassement : utf8_unicode_ci
  • 15.
  • 16.
    phpMyAdmin (4) Créer unetable « classement » Nombre de colonnes : 4
  • 17.
  • 18.
    phpMyAdmin (6) Colonne 1: id / int / primary / A_I Colonne 2 : nom / varchar / 255 Colonne 3 : score / int Colonne 4 : temps / int
  • 19.
    3. PHP &MYSQL
  • 20.
    PHP Data Objects PDO(PHP Data Objects), extension définissant l'interface pour accéder à une base de données depuis PHP. Source : fr.wikipedia.org
  • 21.
  • 22.
    Se connecter àla base de donnée <?php $bdd = new PDO('mysql:host=localhost;dbname=blog', 'root', ''); ?> ‘localhost’ : nom de l'hôte de la bdd ‘blog’ => nom de la bdd ‘root’ : login de connexion ‘’ => mot de passe de connexion
  • 23.
    Tester la connexionà la base de donnée <?php try{ $pdo_options[PDO::ATTR_ERRMODE] = PDO::ERRMODE_EXCEPTION; $bdd = new PDO('mysql:host=localhost;dbname=blog', 'root', '', $pdo_options); } catch (Exception $e){ die('Erreur : ' . $e->getMessage()); } ?>
  • 24.
    4. Lire desdonnées
  • 25.
    Récupérer les données <?php $reponse= $bdd->query('requête SQL'); // Traitement des données $reponse->closeCursor(); ?>
  • 26.
    Parcourir les données <?php $reponse= $bdd->query('requête SQL'); while ($donnees = $reponse->fetch()) { echo $donnees['nom_du_champ']; } $reponse->closeCursor(); ?>
  • 27.
  • 28.
    Structured Query Language? SQL (sigle de Structured Query Language) est un langage informatique normalisé servant à exploiter des bases de données relationnelles. La partie langage de manipulation des données de SQL permet de rechercher, d'ajouter, de modifier ou de supprimer des données dans les bases de données relationnelles. Source : fr.wikipedia.org
  • 29.
    Rechercher des données(1) SELECT * FROM billet Sélectionner tous les champs de tous les enregistrement de la table billet.
  • 30.
    Rechercher des données(2) SELECT titre, contenu FROM billet Sélectionner les champs titre et billet de tous les enregistrement de la table billet.
  • 31.
    Rechercher des données(3) SELECT titre, contenu FROM billet WHERE id = 1 Sélectionner les champs titre et billet de l’enregistrement ayant l’id 1 de la table billet.
  • 32.
    Rechercher des données(4) SELECT titre, contenu FROM billet ORDER BY titre Sélectionner les champs titre et billet de tous les enregistrement de la table billet classé par titre.
  • 33.
    4. Ajouter, modifieret supprimer des données
  • 34.
    Ajouter un enregistrement <?php $req= $bdd->prepare('INSERT INTO article(titre, contenu, auteur) VALUES(:titre, :contenu, :auteur)'); $req->execute(array( 'titre' => $superTitre, 'contenu' => $contenu, 'auteur' => 'Jean MICHEL' )); ?>
  • 35.
    Modifier un enregistrement <?php $req= $bdd->prepare('UPDATE article SET titre = :titre WHERE id = :id'); $req->execute(array( 'titre' => $titre, 'id' => $id )); ?>
  • 36.
    Supprimer un enregistrement <?php $req= $bdd->prepare("DELETE FROM article WHERE id=:id"); $req->execute(array('id' => $id)); ?>
  • 37.
    4. Mise enpratique
  • 38.
    Exercice : Enroute pour l’école ! A la fin du quizz, sauvegarder le nom et le score de l’utilisateur dans la base de donnée. Sur la page classement afficher les meilleurs scores. Créer la page « classement », écrans disponibles ici : https://www.dropbox.com/sh/2acjriyz16wzwgo/AABqbnLoAkw_LHwWEfOekBHOa?dl=0
  • 39.
    Merci pour votreattention.