Top Banner
PHP & MYSQL
39

PHP #6 : mysql

Jul 17, 2015

Download

Software

Jean Michel
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: PHP #6 : mysql

PHP & MYSQL

Page 2: PHP #6 : mysql

1. Une base de donnée ?

Page 3: PHP #6 : mysql

Rappel : Affichage d’une page web

Client InternetClient http

Serveur physique

http://thecorneliusclub.com Requête http

Requête http

SQL Document

Données

Page 4: PHP #6 : mysql

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

Page 5: PHP #6 : mysql

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

Page 6: PHP #6 : mysql

Exemples de SGBD

Page 7: PHP #6 : mysql

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

Page 8: PHP #6 : mysql

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 »

Page 9: PHP #6 : mysql

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

Page 10: PHP #6 : mysql

2. Administrer une base de donnée

Page 11: PHP #6 : mysql

Outils

sequelpro.comphpmyadmin.net

Page 12: PHP #6 : mysql

Accéder à phpMyAdmin

WAMP : Via l'icône de la barre des taches

MAMP : http://localhost:8888/MAMP/

Page 13: PHP #6 : mysql

phpMyAdmin (1)

Page 14: PHP #6 : mysql

phpMyAdmin (2)

Créer une base de donnée « ecole »

Interclassement : utf8_unicode_ci

Page 15: PHP #6 : mysql

phpMyAdmin (3)

Page 16: PHP #6 : mysql

phpMyAdmin (4)

Créer une table « classement »

Nombre de colonnes : 4

Page 17: PHP #6 : mysql

phpMyAdmin (5)

Page 18: PHP #6 : mysql

phpMyAdmin (6)

Colonne 1 : id / int / primary / A_I

Colonne 2 : nom / varchar / 255

Colonne 3 : score / int

Colonne 4 : temps / int

Page 19: PHP #6 : mysql

3. PHP & MYSQL

Page 20: PHP #6 : 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

Page 21: PHP #6 : mysql

PHP Data Objects

PDO

Page 22: PHP #6 : mysql

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

Page 23: PHP #6 : mysql

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()); }

?>

Page 24: PHP #6 : mysql

4. Lire des données

Page 25: PHP #6 : mysql

Récupérer les données

<?php $reponse = $bdd->query('requête SQL'); // Traitement des données $reponse->closeCursor(); ?>

Page 26: PHP #6 : mysql

Parcourir les données

<?php $reponse = $bdd->query('requête SQL'); while ($donnees = $reponse->fetch()) { echo $donnees['nom_du_champ']; } $reponse->closeCursor(); ?>

Page 27: PHP #6 : mysql

4.1 Structured Query Language

Page 28: PHP #6 : mysql

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

Page 29: PHP #6 : mysql

Rechercher des données (1)

SELECT * FROM billetSélectionner tous les champs de tous les

enregistrement de la table billet.

Page 30: PHP #6 : mysql

Rechercher des données (2)

SELECT titre, contenu FROM billetSélectionner les champs titre et billet de tous les enregistrement de la table billet.

Page 31: PHP #6 : mysql

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.

Page 32: PHP #6 : mysql

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.

Page 33: PHP #6 : mysql

4. Ajouter, modifier et supprimer des données

Page 34: PHP #6 : mysql

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

Page 35: PHP #6 : mysql

Modifier un enregistrement

<?php $req = $bdd->prepare('UPDATE article SET titre = :titre WHERE id = :id'); $req->execute(array( 'titre' => $titre, 'id' => $id )); ?>

Page 36: PHP #6 : mysql

Supprimer un enregistrement

<?php $req = $bdd->prepare("DELETE FROM article WHERE id=:id"); $req->execute(array('id' => $id)); ?>

Page 37: PHP #6 : mysql

4. Mise en pratique

Page 38: PHP #6 : mysql

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

Page 39: PHP #6 : mysql

Merci pour votre attention.