Outils pour utilisateurs

Outils du site


slam:ws:2011:ppe2.2:equipe8:accueil

Mission 8 : compte-rendu

Par Jordan Roverch et Mathieu Tournadre.

Présentation de la mission

Le responsable de la gestion des arbitres doit pouvoir s’authentifier grâce à une fenêtre de connexion.

Compte-rendu hebdomadaire

Semaine 1

Création du fichier MCD.

Semaine 2

Création de la page de gestion des matchs.

Semaine 3

Finalisation de la page de gestion des matchs, et création du formulaire d'ajout.

Semaine 4

Code source

form.match.gestion.php

<table>
	<thead>
		<tr>
			<th>n° match</th>
			<th>catégorie</th>
			<th>division</th>
			<th>type championnat</th>
			<th>date</th>
			<th>heure</th>
			<th>équipe 1</th>
			<th>équipe 2</th>
			<th>adresse salle</th>
			<th>arbitre P</th>
			<th>arbitre S</th>
			<th>Modif</th>
			<th>Suppr</th>
		</tr>
	</thead>
	<tbody>
		<?php
			try
			{
				$db = new PDO("mysql:host=localhost;dbname=bdarbitres", "root", "");
				// Connexion à la base de données
			}
			catch(Exception $e)
			{
				die($e->getMessage());
			}
 
			$entries = $db->query("SELECT M.NUM_MATCH, M.DATE_MATCH, M.HEURE_MATCH, E1.NOM_EQUIPE AS EQUIPE_1, E2.NOM_EQUIPE AS EQUIPE_2, S.ADRESSE_SALLE, CH.NUM_CHAMPIONNAT, TC.NOM_TYPE_CHAMPIONNAT, CA.NOM_CATEGORIE, DI.NOM_DIVISION, A1.NOM_ARBITRE AS ARBITRE_P, A2.NOM_ARBITRE AS ARBITRE_S FROM MATCHE M INNER JOIN EQUIPE E1 ON E1.NUM_EQUIPE=M.NUM_EQUIPE_1 INNER JOIN EQUIPE E2 ON E2.NUM_EQUIPE=M.NUM_EQUIPE_2 LEFT OUTER JOIN SALLE S ON S.NUM_SALLE=M.NUM_SALLE INNER JOIN CHAMPIONNAT CH ON CH.NUM_CHAMPIONNAT=E1.NUM_CHAMPIONNAT INNER JOIN TYPE_CHAMPIONNAT TC ON TC.NUM_TYPE_CHAMPIONNAT=CH.NUM_TYPE_CHAMPIONNAT INNER JOIN CATEGORIE CA ON CA.NUM_CATEGORIE=CH.NUM_CATEGORIE INNER JOIN DIVISION DI ON DI.NUM_DIVISION=CH.NUM_DIVISION LEFT  OUTER  JOIN ARBITRE A1 ON A1.NUM_ARBITRE=M.NUM_ARBITRE_P LEFT OUTER JOIN ARBITRE A2 ON A2.NUM_ARBITRE=M.NUM_ARBITRE_S");
// Cette requête récupère les différents matchs et les informations les concernant, et sauvegarde ces données dans la variable $entries.
// Cette requête sera décrite plus en détail par la suite.
 
			while($line = $entries->fetch())
			// Parcours des enregistrements ligne par ligne
			{
		?>
		<tr>
			<td><?php echo $line["NUM_MATCH"]; ?></td>
			<td><?php echo $line["NOM_CATEGORIE"]; ?></td>
			<td><?php echo $line["NOM_DIVISION"]; ?></td>
			<td><?php echo $line["NOM_TYPE_CHAMPIONNAT"]; ?></td>
			<td><?php echo $line["DATE_MATCH"]; ?></td>
			<td><?php echo $line["HEURE_MATCH"]; ?></td>
			<td><?php echo $line["EQUIPE_1"]; ?></td>
			<td><?php echo $line["EQUIPE_2"]; ?></td>
			<td><?php echo $line["ADRESSE_SALLE"]; ?></td>
			<td><?php echo $line["ARBITRE_P"]; ?></td>
			<td><?php echo $line["ARBITRE_S"]; ?></td>
<?php			// Affichage des enregistrements dans un tableau, où les différentes données d'un enregistrement sont contenus dans les différentes cellules d'une ligne ?>
			<td><a href="form.match.modification.php?id=<?php echo $line["NUM_MATCH"]; ?>"><img src="../../image/modifier.png" /></a></td>
			<td><a href="form.match.suppression.php?id=<?php echo $line["NUM_MATCH"]; ?>"><img src="../../image/supprimer.png" /></a></td>
		</tr>
		<?php
			}
		?>
	</tbody>
</table>
<form method="post" action="form.match.creation.php"><input type="submit" value="Ajouter" /></form>

Requête SQL :

SELECT M.NUM_MATCH, M.DATE_MATCH, M.HEURE_MATCH, E1.NOM_EQUIPE AS EQUIPE_1, E2.NOM_EQUIPE AS EQUIPE_2, S.ADRESSE_SALLE, CH.NUM_CHAMPIONNAT,
	   TC.NOM_TYPE_CHAMPIONNAT, CA.NOM_CATEGORIE, DI.NOM_DIVISION, A1.NOM_ARBITRE AS ARBITRE_P, A2.NOM_ARBITRE AS ARBITRE_S
FROM MATCHE M
INNER JOIN EQUIPE E1 ON E1.NUM_EQUIPE=M.NUM_EQUIPE_1
INNER JOIN EQUIPE E2 ON E2.NUM_EQUIPE=M.NUM_EQUIPE_2
LEFT OUTER JOIN SALLE S ON S.NUM_SALLE=M.NUM_SALLE
INNER JOIN CHAMPIONNAT CH ON CH.NUM_CHAMPIONNAT=E1.NUM_CHAMPIONNAT
INNER JOIN TYPE_CHAMPIONNAT TC ON TC.NUM_TYPE_CHAMPIONNAT=CH.NUM_TYPE_CHAMPIONNAT 
INNER JOIN CATEGORIE CA ON CA.NUM_CATEGORIE=CH.NUM_CATEGORIE
INNER JOIN DIVISION DI ON DI.NUM_DIVISION=CH.NUM_DIVISION
LEFT OUTER JOIN ARBITRE A1 ON A1.NUM_ARBITRE=M.NUM_ARBITRE_P
LEFT OUTER JOIN ARBITRE A2 ON A2.NUM_ARBITRE=M.NUM_ARBITRE_S
  • SELECT : on indique les différents champs que l'on veut afficher. La plupart sont précédés d'alias (ex: A.champ), parce qu'ils ne font pas partie de la même table.
  • INNER JOIN : c'est là que l'on lie les différentes tables et que l'on définit crée les alias utilisés dans le SELECT. Si l'INNER JOIN
slam/ws/2011/ppe2.2/equipe8/accueil.txt · Dernière modification: 2014/01/07 13:56 (modification externe)