CRUD : Gestion de données PHP/MySQL
Notes de cours
Travail personnel
Objectifs
- Application CRUD avec PHP et MySQL .
- Se confronter à l'écriture de scripts pour un site de plusieurs pages.
Exercice 1 — Interface PHP/MySQL (Suite) #
Travail à faire
Le but du TP est de terminer votre architecture SCRUD commencée au TP précédent avec les fonctionnalités de base : Recherche, sélection, insertion, suppression, mise à jour des données en utilisant la classePersonne
. Partie I
Dans ce TP, nous allons reprendre les travaux des TP précédents :- Complétez le TP9 que vous avez précédemment réalisé.
- Créez ensuite un nouveau répertoire nommé TP10 et reprenez le travail du TP9 en l'adaptant cette fois avec l'utilisation des requêtes préparées.
- Dans le ficher
donnees.php
, nous alons reprendre la classePersonne
créée précédemment :- Attributs :
string $nom
etstring $dateN
: Nom et date de naissance de la personne. // Faitint $idP
: idP de la personne
- Méthodes :
- Un constructeur
__construct()
pour initialiser les attributs.
- Un constructeur
- Une méthode
__toString()
pour afficher les détails d'une personne. - Une méthode
enregistrer()
pour enregistrer dans le base de données, les informations saisies via le formulaire. Elle renvoietrue
si les données sont enregistrées dans la base etfalse
sinon. - Une méthode
modifier(string $nom, string $dateN): bool
pour modifier les données de la personne dans la base de données - Une méthode
supprimer(): bool
pour supprimer la personne. Elle renvoietrue
si les données sont supprimées de la base etfalse
sinon.
- Attributs :
- Intégrer cette classe dans votre
index.php
:- Utiliser la méthode
enregistrer()
pour l'insertion des données d'une personne. - Afficher la personne, avec ses attributs, après insertion.
- Utiliser la méthode
modifier($nouveau_nom, $nouvelle_date_naissance)
pour la modification. - Utiliser la méthode
supprimer()
pour la suppression de la personne.
Afficher la personne, avec ses attributs, après insertion. - Utiliser la méthode
-
Lors de la modification ou de la suppression d'une personne, vous pouvez transmettre des instances d'objets. Vous pouvez utiliser les fonctions
serialize()
etunserialize()
.
Remarque : Les fonctionsserialize()
etunserialize()
sont principalement utilisées pour sérialiser des objets en chaînes de caractères, ce qui permet de les transmettre plus facilement et de les stocker dans une base de données (ou un fichier).
Moteur de recherche: Ajouter un formulaire de recherche, écrire la requête de recherche correspondante sur un ou plusieurs attributs (séparés par +).
Partie II — Choix du sujet pour le projet (Pour les plus rapides)
L’énoncé du TP tilise le prétexte d'un site sur une Personne
, mais pour votre devoir il faut choisir quelque chose d'autre, qu'on appellera un OBJET
, qui soit différent pour chaque étudiant·e. Cela pourra être par exemple un évenement culturel, historique, un produit …
Le projet à faire consiste à développer un site web interactif permettant aux utilisateurs de consulter, d'ajouter, de mettre à jour et de supprimer des données, conformément au paradigme SCRUD (Search, Create, Read, Update, Delete) en PHP en utilisant la base de données.
La contrainte est que vos OBJETS
doivent avoir au moins trois attributs de type : chaîne de caractères, numérique et autres.
Préférez un sujet original (en particulier, autre chose que votre page perso, et autre chose que les Pokémon); mais vous ne serez pas jugé·e sur le choix du sujet.
Cependant, ne reprenez pas tels quels les OBJETS
«Personne»,«poème», ... manipulés en cours et en TP.
Les pages de votre site doivent contenir des contenus en adéquation avec le sujet choisi, en respectant les règles de propriété intellectuelle (citer vos sources) que ce soit pour les textes ou pour les images, etc.
Travail à rendre individuellement.
Le site complet est à mettre en ligne sur votre serveur personnel, avec la page d'accueil à l’URL : https://dev-NUMETU.users.info.unicaen.fr/TW3-2025/devoir/index.php
Un fichier zip nommé NUMETU-nom-prenom.zip (sans espaces, accents ou caractères spéciaux) contenant l’ensemble du dossier devoir/ sera déposé sur ecampus.
Date limite : Vendredi 2 mai 18h. Tout retard sera pénalisé.