=====Affectation des arbitres===== ===Aspect graphique=== ==Formulaire== Le formulaire de base comprend un tableau avec les matchs disponibles, et un tableau avec les arbitres. __form_arbitre_affecter :__ {{ :ppe2.2:equipe3:affectation.png?300 |}} Il suffit de cocher le match désiré, puis de cocher l'arbitre principal et le secondaire, en prenant soin de ne pas choisir le même. Ensuite il faut rentrer les distances entre le lieu où vit l'arbitre et le lieu du match (la salle), il faut rentrer la distance pour les deux arbitres. ===Aspect programmation=== ==Formulaire== Pour le formulaire, voici la page de codes: __form_arbitre_affecter :__ Affectation d'un arbitre à un match getMessage()); } $resultat=$connexion -> query ('SELECT M.NUM_MATCH, M.DATE_MATCH, S.NUM_SALLE, S.ADRESSE_SALLE FROM MATCHE M INNER JOIN SALLE S ON M.NUM_SALLE=S.NUM_SALLE') ?>

Affectation d'un arbitre à un match

{{ :ppe2.2:equipe3:tableaumatchs.png?300 |}} Ce premier tableau comprend la liste des matchs prévus, il suffit de cocher celui que l'on veut:
fetch()) { ?>
Liste des matchs
Numéro du match Date du match Numéro de la salle Adresse de la salle Choix du match
' />


{{ :ppe2.2:equipe3:tableauarbitres.png?300 |}} Ce deuxième tableau représente la liste des arbitres disponibles pour le match sélectionné: query ('SELECT NUM_ARBITRE, NOM_ARBITRE, PRENOM_ARBITRE, VILLE_ARBITRE FROM ARBITRE') ?>
fetch()) { ?>
Liste des arbitres
Numéro Nom et Prénom Ville Premier arbitre Second arbitre
- ' /> ' />


query ('SELECT NUM_MATCH FROM MATCHE') ?>
{{ :ppe2.2:equipe3:cases.png?300 |}} Les deux cases qui suivent doivent contenir la distance entre le lieu de la salle et celui ou vit l'arbitre: Distance 1er arbitre:


Distance 2nd arbitre:


closeCursor(); ?>
==Page action== __action_arbitre_affecter :__ Ce code permet de récupérer les numéros des arbitres, ainsi que la distance saisie: $match = $_GET['match']; $res1 = $match[0]; $arbitre1 = $_GET['arbitre1']; $res = $arbitre1[0]; $arbitre2 = $_GET['arbitre2']; $res2 = $arbitre2[0]; La requête $salle va récupérer le numéro de la salle où se déroule le match: $salle=$connexion->prepare('SELECT NUM_SALLE FROM matche WHERE NUM_MATCH = :match'); $salle->execute(array('match'=>$res1)); $ligne=$salle->fetch(); Les requêtes $existe1 et $ existe2 vont rechercher la distance entre le lieu de résidence de l'arbitre et le lieu de la salle: $existe1=$connexion->prepare('SELECT DISTANCE, NUM_ARBITRE, NUM_SALLE FROM deplacement WHERE NUM_SALLE = :salle AND NUM_ARBITRE = :arbitre'); $existe1->execute(array('salle'=>$ligne['NUM_SALLE'], 'arbitre'=> $res)); $existe2=$connexion->prepare('SELECT * FROM deplacement WHERE NUM_SALLE =:salle AND NUM_ARBITRE =:arbitre'); $existe2->execute(array('salle'=>$ligne['NUM_SALLE'], 'arbitre'=> $res2)); Cette requête va modifier les distances si elles existent déjà: $resultat=$connexion->prepare('UPDATE matche SET NUM_ARBITRE_P=:numarbitre1, NUM_ARBITRE_S=:numarbitre2 WHERE NUM_MATCH=:nummatch'); $resultat->execute(array('nummatch'=>$res1, 'numarbitre1'=>$res, 'numarbitre2'=>$res2)); Si celle-ci n'existe pas, elle sera insérée dans la table grâce à cette requête: $resultat=$connexion->prepare('INSERT INTO deplacement VALUES (:distance, :arbitre, :salle)'); $resultat->execute(array('arbitre'=>$res, 'salle'=>$ligne['NUM_SALLE'], 'distance'=>$_GET['distance1'])); } Et enfin un header qui va permettre le retour au formulaire: header('location: ../form/form_arbitre_affecter.php'); ?>