1. Trang chủ
  2. » Công Nghệ Thông Tin

Pratique de MySQL et PHP- P12 ppsx

5 332 0

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Cấu trúc

  • Table des Matières

  • Avant-propos

  • Première partie – Programmation web avec MySQL/PHP

    • Chapitre 1 – Introduction à MySQL et PHP

      • 1.1 Introduction au Web et à la programmation web

        • 1.1.1 Serveurs web

        • 1.1.2 Documents web : le langage XHTML

        • 1.1.3 Programmation web

        • 1.1.4 Sessions

      • 1.2 Programmation web avec MySQL et PHP

        • 1.2.1 MySQL

        • 1.2.2 PHP

      • 1.3 Une première base MySQL

        • 1.3.1 Création d'une table

        • 1.3.2 L'utilitaire mysql

        • 1.3.3 L'interface PhpMyAdmin

      • 1.4 Accès à MySQL avec PHP

        • 1.4.1 L'interface MySQL/PHP

        • 1.4.2 Formulaires d'interrogation

        • 1.4.3 Formulaires de mises à jour

    • Chapitre 2 – Techniques de base

      • 2.1 Programmation avec fonctions

        • 2.1.1 Création de fonctions

        • 2.1.2 Utilisation des fonctions

        • 2.1.3 À propos de require et include

        • 2.1.4 Passage par valeur et passage par référence

      • 2.2 Traitement des données transmises par HTTP

        • 2.2.1 Échappement et codage des données HTTP

        • 2.2.2 Contrôle des données HTTP

        • 2.2.3 Comment insérer dans la base de données : insertion dans MySQL

        • 2.2.4 Traitement de la réponse

        • 2.2.5 Comment obtenir du texte « pur » : envoi de l'e-mail

        • 2.2.6 En résumé : traitement des requêtes et des réponses

      • 2.3 Mise à jour d'une base par formulaire

        • 2.3.1 Script d'insertion et de mise à jour

        • 2.3.2 Validation des données et expressions régulières

      • 2.4 Transfert et gestion de fichiers

        • 2.4.1 Transfert du client au serveur

        • 2.4.2 Transfert du serveur au client

      • 2.5 Sessions

        • 2.5.1 Comment gérer une session web ?

        • 2.5.2 Gestion de session avec cookies

        • 2.5.3 Prise en charge des sessions dans PHP

      • 2.6 SQL dynamique et affichage multi-pages

        • 2.6.1 Affichage d'une requête dynamique

        • 2.6.2 Affichage multi-pages

    • Chapitre 3 - Programmation objet

      • 3.1 Tour d'horizon de la programmation objet

        • 3.1.1 Principes de la programmation objet

        • 3.1.2 Objets et classes

        • 3.1.3 Les exceptions

        • 3.1.4 Spécialisation : classes et sous-classes

        • 3.1.5 Spécialisation et classes abstraites : la classe BD

        • 3.1.6 Résumé

      • 3.2 La classe Tableau

        • 3.2.1 Conception

        • 3.2.2 Utilisation

        • 3.2.3 Implantation

      • 3.3 La classe Formulaire

        • 3.3.1 Conception

        • 3.3.2 Utilisation

        • 3.3.3 Implantation

      • 3.4 La classe IhmBD

        • 3.4.1 Utilisation

        • 3.4.2 Implantation

  • Deuxième partie – Conception et création d’un site

    • Chapitre 4 – Création d'une base MySQL

      • 4.1 Conception de la base

        • 4.1.1 Bons et mauvais schémas

        • 4.1.2 Principes généraux

        • 4.1.3 Création d'un schéma E/A

      • 4.2 Schéma de la base de données

        • 4.2.1 Transcription des entités

        • 4.2.2 Associations de un à plusieurs

        • 4.2.3 Associations de plusieurs à plusieurs

      • 4.3 Création de la base Films avec MySQL

        • 4.3.1 Tables

        • 4.3.2 Contraintes

        • 4.3.3 Modification du schéma

    • Chapitre 5 – Organisation du développement

      • 5.1 Choix des outils

        • 5.1.1 Environnement de développement intégré Eclipse

        • 5.1.2 Développement en équipe : Subversion

        • 5.1.3 Production d'une documentation avec PhpDoc

        • 5.1.4 Tests unitaires avec PhpUnit

        • 5.1.5 En résumé

      • 5.2 Gestion des erreurs

        • 5.2.1 Erreurs syntaxiques

        • 5.2.2 Gestion des erreurs en PHP

        • 5.2.3 Les exceptions PHP

        • 5.2.4 Gestionnaires d'erreurs et d'exceptions

      • 5.3 Portabilité multi-SGBD

        • 5.3.1 Précautions syntaxiques

        • 5.3.2 Le problème des séquences

        • 5.3.3 PDO, l'interface générique d'accès aux bases relationnelles

    • Chapitre 6 – Architecture du site : le pattern MVC

      • 6.1 Le motif de conception MVC

        • 6.1.1 Vue d'ensemble

        • 6.1.2 Le modèle

        • 6.1.3 La vue

        • 6.1.4 Contrôleurs et actions

        • 6.1.5 Organisation du code et conventions

      • 6.2 Structure d'une application MVC : contrôleurs et actions

        • 6.2.1 Le fichier index.php

        • 6.2.2 Le contrôleur frontal

        • 6.2.3 Créer des contrôleurs et des actions

      • 6.3 Structure d'une application MVC : la vue

        • 6.3.1 Les templates

        • 6.3.2 Combiner des templates

        • 6.3.3 Utilisation d'un moteur de templates comme vue MVC

        • 6.3.4 Exemple complet

        • 6.3.5 Discussion

      • 6.4 Structure d'une application MVC : le modèle

        • 6.4.1 Modèle et base de données : la classe TableBD

        • 6.4.2 Un exemple complet de saisie et validation de données

        • 6.4.3 Pour conclure

    • Chapitre 7 – Production du site

      • 7.1 Authentification

        • 7.1.1 Problème et solutions

        • 7.1.2 Contrôleur d'authentification et de gestion des sessions

        • 7.1.3 Les actions de login et de logout

      • 7.2 Recherche, présentation, notation des films

        • 7.2.1 Outil de recherche et jointures SQL

        • 7.2.2 Notation des films

      • 7.3 Affichage des films et forum de discussion

      • 7.4 Recommandations

        • 7.4.1 Algorithmes de prédiction

        • 7.4.2 Agrégation de données avec SQL

        • 7.4.3 Recommandations de films

    • Chapitre 8 – XML

      • 8.1 Introduction à XML

        • 8.1.1 Pourquoi XML ?

        • 8.1.2 XML et HTML

        • 8.1.3 Syntaxe de XML

      • 8.2 Export de données XML

        • 8.2.1 Comment passer d'une base MySQL à XML

        • 8.2.2 Application avec PHP

      • 8.3 Import de données XML dans MySQL

        • 8.3.1 Simple XML

        • 8.3.2 L'API SAX

        • 8.3.3 Une classe de traitement de documents XML

      • 8.4 Mise en forme de documents avec XSLT

        • 8.4.1 Quelques mots sur XSLT

        • 8.4.2 Application d'un programme XSLT avec PHP

  • Troisième partie – Compléments

    • Chapitre 9 – Introduction au Zend Framework

      • 9.1 Mise en route

        • 9.1.1 Installation d'une application ZF

        • 9.1.2 Redirection des requêtes avec le ZF

        • 9.1.3 Organisation et conventions

        • 9.1.4 Routage des requêtes dans une application Zend

        • 9.1.5 Configuration

        • 9.1.6 Connexion à la base de données

        • 9.1.7 Le registre

        • 9.1.8 Contrôleurs, actions et vues

      • 9.2 Accès à la base de données

        • 9.2.1 Interrogation

        • 9.2.2 Insertion et mise à jour

      • 9.3 Le MVC du Zend Framework

        • 9.3.1 L'objet request

        • 9.3.2 L'objet response

        • 9.3.3 Gérer les exceptions

      • 9.4 La vue dans le Zend Framework

        • 9.4.1 Les vues sont des scripts PHP

        • 9.4.2 Le layout

        • 9.4.3 Créer des Helpers

      • 9.5 Le composant Modèle du Zend Framework

        • 9.5.1 L'ORM du Zend Framework

        • 9.5.2 Le modèle ORM de l'application

        • 9.5.3 Manipulation des données avec les classes ORM

      • 9.6 Pour conclure

    • Chapitre 10 – Récapitulatif SQL

      • 10.1 Sélections

        • 10.1.1 Renommage, fonctions et constantes

        • 10.1.2 La clause DISTINCT

        • 10.1.3 La clause ORDER BY

        • 10.1.4 La clause WHERE

        • 10.1.5 Dates

        • 10.1.6 Valeurs nulles

        • 10.1.7 Clauses spécifiques à MySQL

      • 10.2 Jointures

        • 10.2.1 Interprétation d'une jointure

        • 10.2.2 Gestion des ambiguïtés

        • 10.2.3 Jointures externes

      • 10.3 Opérations ensemblistes

      • 10.4 Requêtes imbriquées

        • 10.4.1 Exemples de requêtes imbriquées

        • 10.4.2 Requêtes corrélées

        • 10.4.3 Requêtes avec négation

      • 10.5 Agrégation

        • 10.5.1 La clause GROUP BY

        • 10.5.2 La clause HAVING

      • 10.6 Mises à jour

        • 10.6.1 Insertion

        • 10.6.2 Destruction

        • 10.6.3 Modification

    • Chapitre 11 – Récapitulatif PHP

      • 11.1 Généralités

        • 11.1.1 Commentaires

        • 11.1.2 Variables et littéraux

        • 11.1.3 Constantes

      • 11.2 Types

        • 11.2.1 Types numériques et booléens

        • 11.2.2 Chaînes de caractères

        • 11.2.3 Tableaux

        • 11.2.4 Conversion et typage

      • 11.3 Expressions

      • 11.4 Opérateurs

        • 11.4.1 Concaténation de chaînes

        • 11.4.2 Incrémentations

        • 11.4.3 Opérateurs de bits

        • 11.4.4 Opérateurs logiques

      • 11.5 Structures de contrôle

        • 11.5.1 Tests

        • 11.5.2 Boucles

        • 11.5.3 Les instructions break et continue

      • 11.6 Fonctions

        • 11.6.1 Passage des arguments

        • 11.6.2 Valeurs par défaut

        • 11.6.3 Fonctions et variables

      • 11.7 Programmation orientée-objet

        • 11.7.1 Classes et objets

        • 11.7.2 Constructeurs et destructeurs

        • 11.7.3 Sous-classes

        • 11.7.4 Manipulation des objets

        • 11.7.5 Compléments

  • Quatrième partie – Annexes

    • Annexe A – Installation Apache/PHP/MySQL

      • A. 1 Mot de passe root

      • A. 2 Création de bases et d'utilisateurs

        • A. 2.1 La commande GRANT

        • A. 2.2 Modification des droits d'accès

      • A. 3 Fichiers de configuration

        • A. 3.1 Format d'un fichier de configuration

        • A. 3.2 Les différents fichiers

        • A. 3.3 Configuration du serveur

        • A. 3.4 Configuration d'un compte administrateur

      • A. 4 Sauvegardes

      • A. 5 phpMyAdmin

    • Annexe B – Référence MySQL

      • B. 1 Types de données MySQL

      • B. 2 Commandes de MySQL

      • B. 3 Fonctions MySQL

    • Annexe C – Fonctions PHP

      • C. 1 Fonctions générales

      • C. 2 Chaînes de caractères

      • C. 3 Dates

      • C. 4 Tableaux

      • C. 5 Fonctions XML

      • C. 6 Accès aux fichiers

      • C. 7 Interface PHP/MySQL

  • Index général

  • Index des fonctions PHP

  • Index des commandes SQL

  • Table des figures

Nội dung

1.3 Une première base MySQL 33 • Détruire tous les films antérieurs à 1960. Le critère de sélection des films à détruire est exprimé par une clause WHERE. DELETE FROM FilmSimple WHERE annee <= 1960 Les données détruites sont vraiment perdues (sauf si vous utilisez le mode transactionnel de MySQL, optionnel). Ceux qui auraient l’habitude d’un système gérant les transactions doivent garder en mémoire qu’il n’y a pas de possibilité de retour en arrière avec rollback dans le fonctionnement par défaut de MySQL. • Changer le nom de ‘John Woo’ en ’Jusen Wu’. La commande est légèrement plus complexe. On indique par une suite de SET attribut=valeur l’affectation de nouvelles valeurs à certains attributs des lignes modifiées. UPDATE FilmSimple SET nom_realisateur=’Wu’ , prenom_realisateur=’Yusen ’ WHERE nom_realisateur = ’Woo’ Même remarque que précédemment : sauf en mode transactionnel, toutes les lignes sont modifiées sans possibilité d’annulation. Une manière de s’assurer que la partie de la table affectée par un ordre DELETE ou UPDATE est bien celle que l’on vise est d’effectuer au préalable la requête avec SELECT et la même clause WHERE. Voici l’exécution sous mysql. mysql> DELETE FROM FilmSimple WHERE annee <= 1960; Query OK, 2 rows affected (0.01 sec) mysql> mysql> UPDATE FilmSimple SET nom_realisateur=’Wu’, prenom_realisateur=’Yusen’ -> WHERE nom_realisateur = ’Woo’; Query OK, 1 row affected (0.00 sec) Rows matched: 1 Changed: 1 Warnings: 0 Quelques commandes utiles Enfin, mysql fournit tout un ensemble de commandes pour inspecter les tables, don- ner la liste des tables d’une base de données, etc. Voici une sélection des commandes les plus utiles. L’annexe B donne une liste exhaustive de toutes les fonctionnalités de MySQL. • SELECT DATABASE(); C’est une pseudo-requête SQL (sans FROM) qui affichelenomdelabasecourante. • SELECT USER(); Idem, cette pseudo-requête affiche le nom de l’utilisateur courant. • SHOW DATABASES; Affiche la liste des bases de données. • SHOW TABLES; Affiche la liste des tables de la base courante. • SHOW COLUMNS FROM NomTable ; Affiche la description de la table Nom- Table. 34 Chapitre 1. Introduction à MySQL et PHP 1.3.3 L’interface PhpMyAdmin PhpMyAdmin est un outil entièrement écrit en PHP qui fournit une interface simple et très complète pour administrer une base MySQL. La plupart des commandes de l’utilitaire mysql peuvent s’effectuer par l’intermédiaire de phpMyAdmin, les opéra- tions possibles dépendant bien sûr des droits de l’utilisateur qui se connecte à la base. Voici une liste des principales possibilités : 1. Créer et détruire des bases de données (sous le compte root de MySQL). 2. Créer, détruire, modifier la description des tables. 3. Consulter le contenu des tables, modifier certaines lignes ou les détruire, etc. 4. Exécuter des requêtes SQL interactivement. 5. Charger des fichiers dans des tables et, réciproquement, récupérer le contenu de tables dans des fichiers ASCII. 6. Administrer MySQL. Beaucoup de fournisseurs d’accès utilisent ce produit pour permettre la création, modification ou mise à jour d’une base de données personnelle à distance, à l’aide d’un simple navigateur. L’annexe A décrit l’installation de phpMyAdmin. Même s’il ne dispense pas complètement de l’utilisation de l’utilitaire mysql, il permet de faire beaucoup d’opérations simples de manière conviviale. La figure 1.6 montre une copie d’écran de la page d’accueil de phpMyAdmin, après connexion d’un utilisateur. L’écran est divisé en deux parties. Sur la gauche un menu déroulant propose la liste des bases de données accessibles à l’utilisateur (si vous accédez au système d’un fournisseur d’accès, vous ne verrez certainement que votre base personnelle). Cette partie gauche reste affichée en permanence. La partie droite présente l’ensemble des opérations disponibles en fonction du contexte. Figure 1.6 — Page d’accueil de phpMyAdmin 1.3 Une première base MySQL 35 Initialement, si le compte de connexion utilisé est root, phpMyAdmin propose de consulter la situation du serveur et des clients MySQL, et des options de configura- tion de phpMyAdmin lui-même (notamment la langue). En sélectionnant une des bases, on obtient sa structure (à savoir la liste des tables), et toute une liste d’actions à effectuer sur cette base. La figure 1.7 montre cette seconde page (noter qu’il s’agit d’un formulaire HTML). Voici quelques indica- tions sur les fonctionnalités proposées : Structure. Pour chaque table affichée, on peut effectuer les opérations suivantes. 1. Afficher donne le contenu de la table. 2. Sélectionner propose un petit formulaire permettant de sélectionner une partie de la table. 3. Insérer présente un autre formulaire, créé dynamiquement par phpMyAdmin, cette fois pour insérer des données dans la table. 4. Propriétés donne la description de la table et de ses index. Cette option donne accès à une autre page, assez complète, qui permet de modifier la table en ajoutant ou en supprimant des attributs. 5. Supprimer détruit la table (phpMyAdmin demande confirmation). 6. Vide détruit toutes les lignes. SQL. La fenêtre placée en dessous de la liste des tables permet d’entrer des com- mandes SQL directement. Pour créer la table FilmSimple, on peut copier/coller directement la commande CREATE TABLE dans cette fenêtre et l’exécuter. De même, on peut effectuer des INSERT,desSELECT, et toutes les commandes vues dans la section précédente. Figure 1.7 — Actions sur une base avec phpMyAdmin 36 Chapitre 1. Introduction à MySQL et PHP Cette fenêtre est, dans phpMyAdmin, la fonctionnalité la plus proche de l’utili- taire mysql. Exporter. Cette partie permet de créer un fichier contenant toutes les commandes de création de la base, ainsi que, optionnellement, les ordres d’insertion des données sous forme de commandes INSERT. En d’autres termes vous pouvez faire une sauvegarde complète, sous forme d’un fichier ASCII. En choisissant l’option transmettre, le fichier est transmis au navigateur. Rechercher. Permet d’effectuer une recherche par mot-clé. Requête. Donne accès à un formulaire aidant à la construction de requêtes SQL complexes, sans connaître SQL. Supprimer. Supprime la base, avec toutes ses tables (après confirmation). Enfin, le bas de cette page principale propose un formulaire pour créer une nouvelle table. Avant le bouton « Exécuter », il faut entrer le nom de la table et le nombre d’attributs. L’utilisation de phpMyAdmin est simple et s’apprend en pratiquant. Bien que cet outil, en offrant une interface de saisie, économise beaucoup de frappe au clavier, il s’avère quand même nécessaire à l’usage de connaître les commandes SQL, ne serait- ce que pour comprendre les actions effectuées et les différentes options possibles. Dans tout ce qui suit, nous continuerons à présenter les commandes du langage SQL avec l’outil mysql, sachant qu’il suffit d’exécuter ces commandes dans la fenêtre SQL de phpMyAdmin pour obtenir le même résultat. 1.4 ACCÈS À MySQL AVEC PHP Maintenant que nous disposons d’une base MySQL, nous pouvons aborder les outils d’accès à cette base à partir de scripts PHP. Nous étudions successivement dans cette section les aspects suivants : L’interface fonctionnelle MySQL/PHP. Il s’agit d’un ensemble de fonctions qui, pour l’essentiel, permettent de se connecter à MySQL, d’exécuter des requêtes SQL et de récupérer le résultat que l’on peut ensuite afficher dans une page HTML. Interrogation à partir de formulaires HTML. Nous montrons comment associer un formulaire et un programme interrogeant la base de données ; Insertions et mises à jour. Toujours à partir de formulaires HTML, on peut créer des scripts PHP qui insèrent de nouvelles informations ou modifient celles qui existent déjà. 1.4 Accès à MySQL avec PHP 37 1.4.1 L’interface MySQL/PHP PHP communique avec MySQL par l’intermédiaire d’un ensemble de fonctions qui permettent de récupérer, modifier, ou créer à peu près toutes les informations relatives à une base de données. Parmi ces informations, il faut compter bien entendu le contenu des tables, mais également leur description (le schéma de la base). L’utilitaire phpMyAdmin utilise par exemple les fonctions permettant d’obtenir le schéma pour présenter une interface d’administration, engendrer à la volée des formulaires de saisie, etc. Le tableau 1.3 donne la liste des principales fonctions de l’API. Nous renvoyons à l’annexe C pour une liste exhaustive des fonctions MySQL/PHP. Tableau 1.3 — Principales fonctions de l’API MySQL/PHP Fonction Description mysql_connect() Pour établir une connexion avec MySQL, pour un compte utilisa- teur et un serveur donnés. Renvoie une valeur utilisée ensuite pour dialoguer avec le serveur. mysql_pconnect() Idem, mais avec une connexion persistante (voir annexe C). Cette deuxième version est plus performante quand l’interpréteur PHP est inclus dans Apache. mysql_select_db() Permet de se placer dans le contexte d’une base de données. C’est l’équivalent de la commande USE base sous mysql. mysql_query() Pour exécuter une requête SQL ou n’importe quelle commande MySQL. Renvoie une variable représentant le résultat de la requête. mysql_fetch_object() Récupére une des lignes du résultat et positionne le curseur sur la ligne suivante. La ligne est représentée sous forme d’un objet (un groupe de valeurs). mysql_fetch_row() Récupére une des lignes du résultat, et positionne le curseur sur la ligne suivante. La ligne est représentée sous forme d’un tableau (une liste de valeurs). mysql_error() Renvoie le message de la dernière erreur rencontrée. Voici maintenant ces fonctions en action. Le script suivant effectue une recherche de toutes les lignes de la table FilmSimple et affiche la liste des films dans une page HTML. Exemple 1.6 exemples/ExMyPHP1.php : Accès à MySQL avec PHP <?xml version=" 1.0 " encoding="iso −8959−1"?> <!DOCTYPE html PUBLIC " −/ /W3C / / DTD XHTML 1 . 0 S t r i c t / / EN " "http ://www.w3.org /TR/xhtml1/DTD/xhtml1−strict .dtd"> <html xmlns="http ://www.w3. org /1999/xhtml" xml: lang="fr" > <head> <title >Connexion à MySQL</ title > < link rel=’stylesheet ’ href="films .css" type="text / css"/> </head> . 0 Quelques commandes utiles Enfin, mysql fournit tout un ensemble de commandes pour inspecter les tables, don- ner la liste des tables d’une base de données, etc. Voici une sélection des commandes les. liste des principales possibilités : 1. Créer et détruire des bases de données (sous le compte root de MySQL) . 2. Créer, détruire, modifier la description des tables. 3. Consulter le contenu des. d’accueil de phpMyAdmin 1.3 Une première base MySQL 35 Initialement, si le compte de connexion utilisé est root, phpMyAdmin propose de consulter la situation du serveur et des clients MySQL, et des

Ngày đăng: 06/07/2014, 00:20

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

  • Đang cập nhật ...

TÀI LIỆU LIÊN QUAN