Upload
haga-tiana-randrianarijaona
View
8
Download
0
Embed Size (px)
DESCRIPTION
tp location de voiture
Citation preview
AP – TP14 – PHP : SGBDR MySQL – Locations de véhicules
TP 14 – PHP : SGBDR MySQLLocations de véhicules (Véhicules, Modèles et Constructeurs)
1 ModélisationQuestion 1.1 – Rechercher le modèle EntitéAssociation associé à la gestion des locations de véhicules.Question 1.2 – Rechercher le modèle Relationnel associé à la gestion des locations des véhicules.
2 Mise en placeQuestion 2.1 – Créer le dossier locations dans le répertoire public_html.Question 2.2 – Installer le SGBDR MySQL.
aptget install mysqlserver5.0
Question 2.3 – Installer le module MySQL de PHP.
aptget install php5mysql
Question 2.4 – Rechercher le code du script SQL (fichier locations.sql) de création de la base de données locations (création de la base de données et des tables).Question 2.5 – Peupler la base de données locations à l'aide du script SQL donné par le professeur (fichier peupler_locations.sql).
3 Pages d'accès à la base de données• Constructeurs
Question 3.1 – Liste des constructeursSaisir le script PHP (fichier constructeurs.php) donné cidessous.
<!doctype html> <html> <head> <meta charset="UTF8"> <title>Locations</title> </head> <body> <h1>Constructeurs :</h1> <ul> <?php $connexion = mysql_connect("localhost","root","azerty") ; mysql_select_db("locations",$connexion) ; $requete = "select * from CONSTRUCTEUR" ; $reponse = mysql_query($requete,$connexion) ; while($tuple = mysql_fetch_row($reponse)){ echo "<li>$tuple[1] (<em>$tuple[0]</em>)</li>" ; } mysql_close($connexion) ; ?> </ul> </body> </html>
Question 3.2 – Liste déroulante des constructeursRechercher le script PHP (fichier lister_constructeurs.php) dont le rôle est d'afficher sous la forme d'une liste déroulante (balise <select>), les noms des constructeurs de véhicules recensés dans la base de données. Le champ value de chaque item de la liste déroulante (balise <option>) doit se voir attribuer l'identifiant du constructeur.
Page 1
AP – TP14 – PHP : SGBDR MySQL – Locations de véhicules
Question 3.3 – Nouveau constructeurSaisir le code HTML (fichier nouveau_constructeur.html) donné cidessous.
<!doctype html> <html> <head> <meta charset="UTF8"> <title>Locations</title> </head> <body> <h1>Nouveau Constructeur :</h1> <form action="~nom/locations/inserer_constructeur.php" method="GET"> Nom : <input type="text" name="nom"/> <hr/> <input type="submit" value="Insérer"/> <input type="reset" value="Annuler" </form> </body> </html>
Saisir le script PHP (fichier inserer_constructeurs.php) donné cidessous.
<!doctype html> <html> <head> <meta charset="UTF8"> <title>Locations</title> </head> <body> <h1>Constructeurs :</h1> <ul> <?php if(array_key_exists("nom",$_REQUEST)){ $nom = strtoupper($_REQUEST["nom"]) ; $connexion = mysql_connect("localhost","root","azerty") ; mysql_select_db("locations",$connexion) ; $requete = "select * from CONSTRUCTEUR where nom='$nom'" ; $reponse = mysql_query($requete,$connexion) ; if(mysql_num_rows($reponse) != 0){ echo "Le constructeur est déjà recensé." ; } else { $requete = "insert into CONSTRUCTEUR values (NULL,'$nom')" ; mysql_query($requete,$connexion) ; echo "Constructeur enregistré." } mysql_close($connexion) ; } else { echo "Champ non renseigné." ; } ?> </ul> </body> </html>
Question 3.4 – Suppression d'un ou plusieurs constructeursSaisir le script PHP (fichier listsupp_constructeurs.php) donné cidessous.
<!doctype html><html> <head> <meta charset="UTF8"> <title>Locations</title> </head>
Page 2
AP – TP14 – PHP : SGBDR MySQL – Locations de véhicules
<body> <h1>Constructeurs :</h1> <form action="supprimer_constructeurs.php" method="GET"> <table> <tbody> <?php $connexion = mysql_connect("localhost","root","azerty") ; mysql_select_db("locations",$connexion) ; $requete = "select * from CONSTRUCTEUR" ; $reponse = mysql_query($requete) ; while($tuple = mysql_fetch_row($reponse)){ echo "<tr><td><input type=\"checkbox\" name=\"constructeur[]\" " ; echo "value=\"$tuple[0]\"/></td>" ; echo "<td>$tuple[1]</td></tr>" ; } mysql_close($connexion) ; ?> </tbody> </table> <hr/> <input type="submit" value="Supprimer"/> <input type="reset" value="Annuler"/> </form> </body></html>
Saisir le script PHP (fichier supprimer_constructeurs.php) donné cidessous.
<!doctype html><html> <head> <meta charset="UTF8"> <title>Locations</title> </head> <body> <h1>Constructeurs :</h1> <?php if(array_key_exists("constructeur",$_REQUEST)){ $constructeurs = $_REQUEST["constructeur"] ; $connexion = mysql_connect("localhost","root","azerty") ; mysql_select_db("locations",$connexion) ; $nb_suppressions = 0 ; foreach($constructeurs as $constructeur){ $requete = "delete from CONSTRUCTEUR where id_constructeur=$constructeur" ; mysql_query($requete,$connexion) ; $nb_suppressions += 1 ; } mysql_close($connexion) ; echo "$nb_suppressions constructeur(s) supprimé(s)." ; } else { echo "Aucun constructeur sélectionné." ; } ?> </body></html>
• Modèles
Question 3.5 – Liste des modèles de véhiculesRechercher le script PHP (fichier modeles.php) dont le rôle est d'afficher la liste (balise <ul>) des modèles de véhicules recensés dans la base de données. Pour chaque modèle, son nom suivi du nom du constructeur entre parenthèses, doit être affiché.
Exemple : TWINGO (RENAULT)
Page 3
AP – TP14 – PHP : SGBDR MySQL – Locations de véhicules
Question 3.6 – Liste déroulante des modèles de véhiculesRechercher le script PHP (fichier lister_modeles.php) dont le rôle est d'afficher sous la forme d'une liste déroulante (balise <select>), les modèles (ainsi que les constructeurs comme dans la question précédente) de véhicules recensés dans la base de données. Le champ value de chaque item de la liste déroulante (balise <option>) doit se voir attribuer l'identifiant du modèle.
Question 3.7 – Nouveau modèleRechercher le code HTML (fichier nouveau_modele.php) dont le rôle est de proposer un formulaire permettant de saisir le nom d'un modèle et de sélectionner un constructeur, puis d'envoyer ces informations au serveur (script inserer_modele.php). Rechercher le script PHP (fichier inserer_modele.php) dont le rôle est d'enregistrer dans la base de données, le nouveau modèle de véhicule dont les données ont été saisies à l'aide du formulaire (le nom du modèle enregistré est en lettres majuscules). Si le modèle est déjà recensé, l'utilisateur doit être prévenu.
Question 3.8 – Suppression d'un ou plusieurs modèlesRechercher le code PHP (fichier listsupp_modeles.php) dont le rôle est de permettre à l'utilisateur de sélectionner le ou les modèles à supprimer. La liste des modèles est présentée sous la forme d'un tableau. Le constructeur de chaque modèle doit être affiché (dans une colonne dédiée). Rechercher le code PHP (fichier supprimer_modeles.php) dont le rôle est de supprimer de la base de données, les modèles sélectionnés dans le formulaire.
• Véhicules
Question 3.9 – Liste des véhiculesRechercher le code PHP (fichier lister_vehicules.php) dont le rôle est de présenter la liste des véhicules à la location sous une forme tabulaire (Toutes les informations associées à chaque véhicule doivent être affichées dans des colonnes différentes).
Question 3.10 – Nouveau véhiculeRechercher le code PHP (fichier nouveau_vehicule.php) dont le rôle est de permettre à l'utilisateur de saisir l'ensemble des informations relatives à un nouveau véhicule. Le choix du modèle se fait à l'aide d'une liste déroulante. L'état du véhicule est sélectionné à l'aide de boutons radio. Rechercher le code PHP (fichier inserer_vehicule.php) dont le rôle est de mémoriser dans la base de données, le véhicule dont les informations ont été saisies à l'aide du formulaire.
Question 3.11 – Suppression d'un ou plusieurs véhiculesRechercher le code PHP (fichier listsupp_vehicules.php) dont le rôle est de permettre à l'utilisateur de sélectionner le ou les véhicules à supprimer. La liste des véhicules est présentée sous la forme d'un tableau. Rechercher le code PHP (fichier supprimer_vehicules.php) dont le rôle est de supprimer de la base de données, les véhicules sélectionnés dans le formulaire.
Question 3.12 – Modification d'un ou plusieurs véhiculesRechercher le code PHP (fichier listmod_vehicules.php) dont le rôle est de présenter sous une forme tabulaire, l'état de chaque véhicule (l'état courant est présenté sous la forme d'une liste déroulante). L'utilisateur peut sélectionner un nouvel état pour un ou plusieurs véhicules. Rechercher le code PHP (fichier modifier_vehicules.php) dont le rôle est d'appliquer les modifications choisies par l'utilisateur.
• Eviter les incohérences !
Question 3.13 – Suppression de constructeurs et de modèles
✗ S'il existe dans la base de données, au moins un modèle proposé par un constructeur, ce constructeur ne peut pas être supprimé. Proposer une modification du script supplist_constructeurs.php.
✗ S'il existe dans la base de données, au moins un véhicule d'un modèle particulier, ce modèle ne peut pas être supprimé. Proposer une modification du script supplist_modeles.php.
Page 4