Télécharger la présentation
La présentation est en train de télécharger. S'il vous plaît, attendez
Publié parÈve Sévigny Modifié depuis plus de 8 années
1
APP-TSWD Apprentissage Par Problèmes Techniques des Sites Web Dynamiques Licence Professionnelle FNEPI Valérie Bellynck, Benjamin Brichet-Billet, Mazen Mahrous Grenoble INP – Pagora 10 novembre 2014 Cours en Réponse à questions, n° 4
2
Groupe : ? Autres groupes ? ? Profs MySQL ? PhpMyAdmin ? Récupérer les requêtes MySQL dans PhpMyAdmin ? Soutenances formatives Expliquer des programmes types PHP le programme principal des actions d’un formulaire la boucle type des traitements d’une ressource (pointeur sur.csv, pointeur sur une ressource de traitement de données mySQL…) Questions reçues
3
MySQL - API
4
MAMP-PhpMyAdmin
5
PhpMyAdmin - CREATE
6
PhpMyAdmin - SELECT
7
PhpMyAdmin – formulaire Insertion
8
PhpMyAdmin - INSERT
9
PhpMyAdmin – formulaire Modif
10
PhpMyAdmin - UPDATE
11
PhpMyAdmin - DELETE
12
PhpMyAdmin – Formulaire SQL
14
Manuel officiel mySQL ↪ voir http://dev.mysql.com/doc/refman/4.1/en/show-columns.htmlhttp://dev.mysql.com/doc/refman/4.1/en/show-columns.html
15
SHOW COLUMNS FROM [ma_table] versus SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE `TABLE_NAME` = '[ma_table]'
16
SHOW COLUMNS FROM [ma_table] versus SELECT `COLUMN_TYPE` FROM INFORMATION_SCHEMA.COLUMNS WHERE `TABLE_NAME` = '[ma_table]’ AND `COLUMN_TYPE` LIKE 'enum%'
17
Algorithmique : 2 programmes typiques
18
Ossature/maquette d’une page Web (= « template ») ↪ voir http://tiprof.fr/SitesWebDynamic/Exemples/maquette/http://tiprof.fr/SitesWebDynamic/Exemples/maquette/
19
Les fonctions PHP require() / include() / require_once() / include_once()
20
Ossature/maquette d’une page Web (= « template ») ↪ voir http://tiprof.fr/SitesWebDynamic/Exemples/maquette/http://tiprof.fr/SitesWebDynamic/Exemples/maquette/
21
Ossature/maquette d’une page Web (= « template ») ↪ voir http://tiprof.fr/SitesWebDynamic/Exemples/maquette/http://tiprof.fr/SitesWebDynamic/Exemples/maquette/
22
Usage des constantes PHP Définit une constante pour tout le script PHP exécuté !! non modifiable Certaines constantes sont pré-définies comme DIRECTORY_SEPARATOR, __FILE__... ↪ voir http://php.net/manual/fr/dir.constants.phphttp://php.net/manual/fr/dir.constants.php http://php.net/manual/fr/reserved.constants.php et http://php.net/manual/fr/language.constants.predefined.phphttp://php.net/manual/fr/language.constants.predefined.php ↪ voir http://php.net/manual/fr/function.define.phphttp://php.net/manual/fr/function.define.php Pour les utiliser, juste pas de quotes à mettre
23
Aide pour déboguer : Affichage de traces
25
constante prédéfinie faisant partie des « constantes magiques » __FILE__, __DIR__... ↪ voir http://php.net/manual/fr/language.constants.predefined.phphttp://php.net/manual/fr/language.constants.predefined.php basename() : fonction PHP qui extrait le nom du fichier dans un chemin
26
Boucle de traitement d’une ressource 1°) Initialisation de la tête de lecture 2°) Tant que la tête n’est pas dehors, lire un « élément » traiter l’élément - fin du « tant que » 3°) Libération de la mémoire utilisée par la tête de lecture
27
Boucle de traitement d’une ressource 1°) Initialisation de la tête de lecture 2°) Tant que la tête n’est pas dehors, lire un « élément » traiter l’élément - fin du « tant que » 3°) Libération de la mémoire utilisée par la tête de lecture Exemple : lire les éléments d’un dossier et générer une liste de liens
28
Boucle de traitement d’une ressource Exemple : lire les lignes d’un fichier.csv et afficher ses valeurs ligne par ligne 1°) Initialisation de la tête de lecture 2°) Tant que la tête n’est pas dehors, lire un « élément » traiter l’élément - fin du « tant que » 3°) Libération de la mémoire utilisée par la tête de lecture
29
Boucle de traitement d’une ressource Exemple : lire les enregistrements résultants d’une requête mySQL et les stocker dans un tableau PHP 1°) Initialisation de la tête de lecture 2°) Tant que la tête n’est pas dehors, lire un « élément » traiter l’élément - fin du « tant que » 3°) Libération de la mémoire utilisée par la tête de lecture En sortie de fonction, $table contient une table PHP qui correspond aux enregistrements trouvés par la requête mySQL
30
Boucle de traitement d’une ressource Exemple : lire les enregistrements résultants d’une requête mySQL et les stocker dans un tableau PHP En sortie de fonction, $table contient une table PHP qui correspond aux enregistrements trouvés par la requête mySQL La fonction définie, gest_lasts($nb), récupère les $nb derniers enregistrements de la table dont le nom a été spécifié dans la constante TABLE précédemment
31
Séquencement des actions d’un formulaire : le « Contrôle » 1°) gros « switch » qui séquence les affichages et les actions ↪ voir http://tiprof.fr/SitesWebDynamic/Techniques-swd/mat%C3%A9riel/mysql/http://tiprof.fr/SitesWebDynamic/Techniques-swd/mat%C3%A9riel/mysql/ identique à
32
Séquencement des actions d’un formulaire : les « vues » 1°) des « include »s pour les formulaires liés ↪ voir http://tiprof.fr/SitesWebDynamic/Techniques-swd/mat%C3%A9riel/mysql/http://tiprof.fr/SitesWebDynamic/Techniques-swd/mat%C3%A9riel/mysql/
33
Séquencement des actions d’un formulaire : le « modèle » 2°) fonctions pour réaliser les actions ↪ voir http://tiprof.fr/SitesWebDynamic/Techniques-swd/mat%C3%A9riel/mysql/http://tiprof.fr/SitesWebDynamic/Techniques-swd/mat%C3%A9riel/mysql/ insertion des fonctions qui contiennent les requêtes mySQL insertion du fichier de connexion entre les 2 serveurs appel des fonctions qui font l’action avec la base de données
34
Séquencement des actions d’un formulaire 3°) ajustement du « Contrôle » ↪ voir http://tiprof.fr/SitesWebDynamic/Techniques-swd/mat%C3%A9riel/mysql/http://tiprof.fr/SitesWebDynamic/Techniques-swd/mat%C3%A9riel/mysql/ appel des fonctions qui font l’action avec la base de données … reste à faire ici
35
4°) Codage du « Modèle » dans un fichier externe regroupant les fonctions pour réaliser les actions ↪ voir http://tiprof.fr/SitesWebDynamic/Techniques-swd/mat%C3%A9riel/mysql/http://tiprof.fr/SitesWebDynamic/Techniques-swd/mat%C3%A9riel/mysql/ On veut que PHP transmette la requête d’insertion à MySQL INSERT INTO … ( …, … …) VALUES ( …, … …) ; On veut que PHP transmette la requête de mise à jour à MySQL UPDATE … SET … = … AND … = … WHERE `id` = … ;
36
Architecture MVC Modèle – Contrôle - Vues Intérêt de l’architecture MCV : Si on veut changer de « support » pour mémoriser les données, on a seulement à modifier le contenu des fonctions qui réalisent les actions Toutes les interfaces Homme-Machine (IHM) d’aujourd’hui sont fait ainsi De nombreux frameworks / environnements de développement (EDI / IDE) imposent ce type d’architecture passage au développement pour les nouveaux appareils (Android / iOS) EDI = environnement de développement intégré IDE = integrated development environment IHM = interface Homme-Machine Framework = ensemble cohérent de composants logiciels organisés pour structurer l’architecture des programmes ↪ voir http://tiprof.fr/Essais-php-js/reg-exp/http://tiprof.fr/Essais-php-js/reg-exp/ et http://tahe.developpez.com/web/php/mvc/?page=page_1http://tahe.developpez.com/web/php/mvc/?page=page_1
37
Fonctions et classes PHP pour MySQL ↪ voir http://tiprof.fr/PHP-mySQL/Travaux%20Dirig%C3%A9s/TD3-PHP-mySQL/http://tiprof.fr/PHP-mySQL/Travaux%20Dirig%C3%A9s/TD3-PHP-mySQL/ Plusieurs bibliothèques (ou familles de fonctions) permettent à PHP de communiquer avec MySQL. Par exemple : mysql_connect() est « déprécié aujourd’hui » mysqli_connect() ne se connecte qu’à MySQL est orienté objet MDB2::connect() est orienté objet, permet de travailler avec MySQL ou postgre-SQL ou… peut nécessiter une installation spécifique pour PHP new PDO() est orienté objet permet de travailler avec MySQL ou postgre-SQL ou… est fourni directement avec les dernières version de PHP
38
Les objets dans PHP (4 et 5)
39
Objet : exemple du point (x,y) 2 variables séparées (« scalaires ») : float x, float y; Des structures de données : array(x,y) struct { float x, float y } struct { float x, float y, string nom } + des fonctions comme - définir un point - déplacer un point - supprimer un point Une structure pour des valeurs ET des « méthodes » + héritage La structure n’est pas la valeur ➙ Le constructeur réserve la mémoire et initialise ➙ Le destructeur libère la mémoire ➙ Un véhicule est un engin à roues permettant de se déplacer ➙ Une voiture est un véhicule à 4 roues … struct point { float x; float y; string nom; } var p = (point) (2,3,’A’); pas en PHP
40
Utilisation des objets dans PHP http://php.net/
41
Définition d’une classe et Instance http://php.net/
42
QCM inspiré des questions des fiches de TD de tiprof http://tiprof.fr/PHP-mySQL/Travaux%20Dirig%C3%A9s/TD3-PHP-mySQL/
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.