PHP #6 : mysql
-
Upload
jean-michel -
Category
Software
-
view
460 -
download
1
Transcript of 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
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
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
Accéder à phpMyAdmin
WAMP : Via l'icône de la barre des taches
MAMP : http://localhost:8888/MAMP/
phpMyAdmin (6)
Colonne 1 : id / int / primary / A_I
Colonne 2 : nom / varchar / 255
Colonne 3 : score / int
Colonne 4 : temps / int
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
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()); }
?>
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(); ?>
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 billetSélectionner tous les champs de tous les
enregistrement de la table billet.
Rechercher des données (2)
SELECT titre, contenu FROM billetSé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.
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)); ?>
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