PHP & MySQL ICN (seconde) Initiation aux bases de données avec PHP Introduction Tu as vu que le langage PHP te permettait de réaliser des pages Web dynamiques. Ces pages sont en fait re-fabriquées au niveau du serveur PHP. Il est aussi possible de gérer des données via un gestion de fichiers. On peut donc écrire et lire des données dans un fichier pour effectuer des traitements. Mais cela n’est pas bien pratique, car la gestion est assez lourde. Pour pouvoir gérer très facilement un très grand nombre de données. Une base de données permet de mettre des données à la disposition d'utilisateurs pour une consultation, une saisie ou bien une mise à jour. Tu vas découvrir que cette méthode est bien plus rapide efficace que la gestion de fichiers vue précédemment. Ces données sont classées. Elles peuvent donc être retrouvées très rapidement. On parle alors de SGBD (Systèmes de Gestion de Bases de Données) Prenons l’exemple d’un carnet Nous allons utiliser MySql qui est une application qui gère des bases de données. MySql sera alors installer sur un serveur. Tu vas devoir communiquer avec le SGBD pour lui donner l'ordre de récupérer ou d'enregistrer des données. Pour lui « parler », on utilise le langage SQL. Version du 27/01/2017 1/ Julien Launay PHP & MySQL ICN (seconde) Pour pouvoir échanger des informations avec une base de données (ici MySql), on va utiliser le PHP pour pouvoir dialoguer en SQL. PHP fait alors le lien entre vous (client) et la base de données (MySql). Une base de données est organisée de la façon suivante : Création d’une table On va dans un premier temps créer une base de données, une liste de textes en français. On ne va pas commencer par utiliser tout de suite PHP, mais tout simplement un outil spécifique qui gère directement des bases de données : Phpmyadmin. Tu vas lancer l’application Phpmyadmin pour paramétrer ta première base de données. Dans ton navigateur tape : Localhost/phpmyadmin si MySql est installé sur ton poste, sinon http://adresse_ip_mysql/phpmyadmin Version du 27/01/2017 2/ Julien Launay PHP & MySQL ICN (seconde) Tu arrives alors sur la page d’accueil de Phpmyadmin Création de la table dans la base de données On créé une table de 5 champs (id, auteur, titre, type_texte, année) Création des champs de la table de la base de données Version du 27/01/2017 3/ Julien Launay PHP & MySQL ICN (seconde) Insertion d’un élément dans la table Tu vas ajouter quelques éléments à ta table dans les différents champs. Vérifie que tous tes champs sont bien insérés. Version du 27/01/2017 4/ Julien Launay PHP & MySQL ICN (seconde) Faire une recherche (notion de requête SQL) Pour effectuer une recherche dans la base de données, il suffit d’écrire une requête SQL. Recherchons par exemple tous les livres « classiques » Ici * signifie tous les éléments de tous les champs. Effectue maintenant des requêtes suivantes : Liste des livres de Rousseau Liste des livres écrits après 1800 La commande ORDER BY permet de trier par ordre croissant des données suivant un champ. Exemple de requête : SELECT * FROM nom_table ORDER BY nom_champ DESC DESC permet de trier par ordre décroissant. Teste une requête pour afficher tous les textes par ordre croissant suivant les années de parution d’un texte. Pour utiliser une variable issu d’un formulaire Créer une page Web qui interroge la base de données. Tu vas voir maintenant comment lire des éléments d’une table. Il va falloir demander le droit à se connecter à la base de données. En effet, une base de données est sécurisée par un login et mot de passe. Tu l’as vu précédemment pour te connecter à Phpmyadmin. Ce programme php permet : 1. Accéder à la base de données 2. Lire les éléments associés à une requête SQL Version du 27/01/2017 5/ Julien Launay PHP & MySQL ICN (seconde) 3. Lire et afficher toutes les éléments de la table associé à la requête SQL 4. On ferme la requête Teste ta page Web en php. Pour cela téléverse ta page php sur le serveur MySql grâce à un client FTP déjà vu. Tape ensuite dans ton navigateur http://nom_site_web/ta_page_php.php Vérifie que ça fonctionne. Ajouter des éléments dans un champ d’une table d’une base de données Tu as déjà utiliser sans le savoir une requête d’insertion, lorsque tu as renseigné chaque champ de ta base de données. Commence par utilise Phpmyadmin pour faire un essai d’insertion d’un texte. Vérifie que le nouvel élément a bien été insérer En PHP Version du 27/01/2017 6/ Julien Launay PHP & MySQL ICN (seconde) Mise à jour d’un élément Supprimer un élément Utiliser des fonctions sur des éléments Version du 27/01/2017 7/ Julien Launay