4
AP – TP14 – PHP : SGBDR MySQL – Locations de véhicules TP 14 – PHP : SGBDR MySQL Locations de véhicules (Véhicules, Modèles et Constructeurs) 1- Modélisation Question 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 place Question 2.1 – Créer le dossier locations dans le répertoire public_html. Question 2.2 – Installer le SGBDR MySQL. apt-get install mysql-server-5.0 Question 2.3 – Installer le module MySQL de PHP. apt-get install php5-mysql 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 constructeurs Saisir le script PHP (fichier constructeurs.php) donné ci-dessous. <!doctype html> <html>   <head>     <meta charset="UTF-8">     <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 constructeurs Rechercher 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

Location de Voiture MySQL

Embed Size (px)

DESCRIPTION

tp location de voiture

Citation preview

Page 1: Location de Voiture MySQL

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.

apt­get install mysql­server­5.0

Question 2.3 – Installer le module MySQL de PHP.

apt­get install php5­mysql

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é ci­dessous.

<!doctype html> <html>   <head>     <meta charset="UTF­8">     <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

Page 2: Location de Voiture MySQL

AP – TP14 – PHP : SGBDR MySQL – Locations de véhicules

Question 3.3 – Nouveau constructeurSaisir le code HTML (fichier nouveau_constructeur.html) donné ci­dessous.

<!doctype html> <html>   <head>     <meta charset="UTF­8">     <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&eacute;rer"/>       <input type="reset" value="Annuler"     </form>   </body> </html>

Saisir le script PHP (fichier inserer_constructeurs.php) donné ci­dessous.

<!doctype html> <html>   <head>     <meta charset="UTF­8">     <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&eacute;j&agrave; recens&eacute;." ;         }         else {           $requete = "insert into CONSTRUCTEUR values (NULL,'$nom')" ;           mysql_query($requete,$connexion) ;           echo "Constructeur enregistr&eacute;."         }         mysql_close($connexion) ;       }       else {         echo "Champ non renseign&eacute;." ;       }     ?>     </ul>   </body> </html>

Question 3.4 – Suppression d'un ou plusieurs constructeursSaisir le script PHP (fichier listsupp_constructeurs.php) donné ci­dessous.

<!doctype html><html>  <head>    <meta charset="UTF­8">    <title>Locations</title>  </head>

Page 2

Page 3: Location de Voiture MySQL

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é ci­dessous.

<!doctype html><html>  <head>    <meta charset="UTF­8">    <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&eacute;(s)." ;      }      else {        echo "Aucun constructeur s&eacute;lectionn&eacute;." ;      }    ?>  </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

Page 4: Location de Voiture MySQL

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