Outils pour utilisateurs

Outils du site


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

COMPTE RENDU ARBITRE

Première séance

T2.2 Gestion des clubs : Cette tâche doit permettre la création, la modification et la suppression d’un club.

Code du formulaire permettant d'afficher les clubs :

<article>
	<h1> Les Clubs <h1>
	<?php
		include"affclub.php"
	?>
	<p>
		<a href="formulaire/club_form_ajouter.php"><input type="submit" value="Ajouter"></a>
	</p>
</article>

Code de affclub :

<?php
	try
	{
		// On se connecte à MYSQL
		$connexion= new PDO ('mysql:host=localhost; dbname=mlr1arbitre', 'root', '');
			}
	catch(Exception $e)
	{
		// en cas d'erreur 
		die ('Erreur : '.$e->getMessage());	
	}
			
	// on recupère les noms dans la table CLUB
	$resultat = $connexion->query('SELECT * FROM CLUB ');
						
?>

<table>
	<tr>
		<td><strong>Num<strong></td>
		<td><strong>Nom<strong></td>
		<td><strong>Modifier<strong></td>
		<td><strong>Supprimer</strong></td>
	</tr>

	<?php
                //parcourir les enregistrement pour pouvoir les afficher
		while($ligne=$resultat->fetch()){
	?>

	<tr>
		<td><?php echo $ligne['NUM_CLUB'] ;?></td>
		<td><?php echo $ligne['NOM_CLUB'] ;?></td>
		<td><a href="formulaire/club_form_modifier.php?code=<?php echo $ligne['NUM_CLUB'] ;?>">Modifier</td>
		<td><a href="action/club_action_supprimer.php?code=<?php echo $ligne['NUM_CLUB'] ;?>">Supprimer</td>
		</tr>

		<?php
		 }
		?>

</table>
  • Lorsque l'on clique sur ajouter, une nouvelle page web s'ouvre permettant la création d'un nouveau club.

Code du formulaire ajouter :

//Le script nous permet de faire un contrôle de saisi sur les éléments du formulaire donc le nom commence par étoile.
<script>
function verif_input_etoile(){
 var input=document.forms[0].elements;//retourne les éléments du formulaires(input, label,...)
 for(var i=0;i<input.length;i++) {
	var tinput=input[i].name.split("_");//créer un tableau avec [0]="etoile" si on a name="etoile_nom"
	if(tinput.length>0 && tinput[0]=="etoile"){
		if (input[i].value=="") {
			alert(tinput[1]+" : Champ obligatoire");
			input[i].focus();//positionne un focus sur le champ
			return false; //une erreur on redonne la main au formulaire
		}
	}
  }
  return true; //aucune erreur
}
</script>
<fieldset>
   <legend> Ajouter un club </legend>
        <form method="get" action="../action/club_action_ajouter.php">
	  <table>
		<strong>Nom :</strong><input id="nom" type="text" name="etoile_nom"/></br>
	  </table>
	  <p>
		<input type="submit" value="AJOUTER" onclick="verif_input_etoile()">
	  </p>

       </form>
    </fieldset>

Code de l'action ajouter :

<?php

try
{
	// On se connecte à MYSQL
        $connexion= new PDO ('mysql:host=localhost; dbname=mlr1arbitre', 'root', '');
}

catch(Exception $e)
{
	// en cas d'erreur 
	die ('Erreur : '.$e->getMessage());	
}	
	
	//On ajoute un club dans la table CLUB	
	$res=$connexion->prepare('INSERT INTO club (NOM_CLUB) VALUES(:nom)');
	$res->execute(array('nom'=>$_GET['etoile_nom']));
		
//On nous redirige vers la page club.php
header("Location: ../club.php");

							
?>

Après avoir cliqué sur Ajouter, le club a bien été ajouté :

Seconde séance

  • Lorsque l'on clique sur Modifier, une page web s'ouvre, affichant le club sélectionnée, et le responsable pourra alors le modifier.

Code du formulaire modifier :

<?php

try
{
	// On se connecte à MYSQL
	$connexion= new PDO ('mysql:host=localhost; dbname=mlr1arbitre', 'root', '');
}
			
catch(Exception $e)
{
	// en cas d'erreur 
	die ('Erreur : '.$e->getMessage());	
}
			
	// on recupère les club dans la table CLUB
	$resultat = $connexion->prepare("SELECT * FROM CLUB where NUM_CLUB = :code ");
	$resultat->execute(array('code'=>$_GET['code']));

?>

<script>
function verif_input_etoile(){

  var input=document.forms[0].elements;//retourne les éléments du formulaires(input, label,...)
  for(var i=0;i<input.length;i++) {
	var tinput=input[i].name.split("_");//créer un tableau avec [0]="etoile" si on a name="etoile_nom"
		if(tinput.length>0 && tinput[0]=="etoile"){
			if (input[i].value=="") {
				alert(tinput[1]+" : Champ obligatoire");
				input[i].focus();//positionne un focus sur le champ
				return false; //une erreur on redonne la main au formulaire
			}
		}
  }
  return true; //aucune erreur
}
</script>

<fieldset>
   <legend>Modifier le club</legend>
	<form method="get" action="../action/club_action_modifier.php">
	  <table>
		<tr>
		    <td></td>
		    <td><strong>Nom<strong></td>
		</tr>

		<?php
		    while($ligne=$resultat->fetch()){
		?>

		<tr>
		  <td><input type="hidden" name="num" value='<?php echo $ligne['NUM_CLUB'] ;?>'></td>
		  <td><input type="text" name="etoile_nom" value='<?php echo $ligne['NOM_CLUB'] ;?>'></td>
		</tr>

		<?php
		  }
		?>
	</table>
	<p>
	   <input type="submit"  value="MODIFIER" onclick="verif_input_etoile()">
	</p>
	
     </form>
</fieldset>
		
<?php 
	$resultat->closeCursor();
?> 	

Code de l'action modifier :

<?php
	try
	{
		// On se connecte à MYSQL
		$connexion= new PDO ('mysql:host=localhost; dbname=mlr1arbitre', 'root', '');
	}

	catch(Exception $e)
	{
		// en cas d'erreur 
		die ('Erreur : '.$e->getMessage());	
	}	
	
	//On modifier le nom du CLUB	
	$res=$connexion->prepare('UPDATE club set NUM_CLUB=:num, NOM_CLUB=:nom  where NUM_CLUB=:num');
	$res->execute(array('num'=>$_GET['num'],
			    'nom'=>$_GET['etoile_nom']));
							
       header("Location: ../club.php");					
?>

Le club a bien été modifié et est passé de Abal à Abal-Kassim :

  • Lorsque l'on clique sur Supprimer, le responsable peut supprimer, après contrôle, le club sélectionné.

Code de l'action supprimer :

<?php
	try
	{
	   // On se connecte à MYSQL
	   $connexion= new PDO ('mysql:host=localhost; dbname=mlr1arbitre', 'root', '');
	}
	catch(Exception $e)
	{
	  // en cas d'erreur 
	  die ('Erreur : '.$e->getMessage());	
	}
			
	// on récupère le code du club concerné et on le supprime de la table CLUB
	$resultat = $connexion->prepare("DELETE FROM CLUB where NUM_CLUB = :code");
	$resultat->execute(array('code'=>$_GET['code']));
			
	header("Location: ../club.php");

?>

Après avoir cliqué sur Supprimer, le club Abal-Kassim a bien été supprimé :

Troisième séance

T4.2 Consultation par un arbitre de ses convocations : l‘arbitre peut à tout moment visualiser les convocations aux matches à venir. état-civil, adresse, numéros de téléphone,adresse mail, nom du club auquel il appartient éventuellement). Pour chaque match, il est souhaitable de faire afficher toutes les données présentes sur sa convocation (informations sur le championnat, sur le match lui-même, qui est son co-arbitre, et le montant de sa rémunération). Il est souhaitable que ces convocations soient triées par date match croissant

Pour traiter ce problème, nous avons décidé de séparer la problèmatique en deux parties: la première partie pour avoir les informations sur l'arbitre connecté, puis la deuxième partie sur les renseignement des matchs qu'il a à arbitrer.

Première partie:l‘arbitre peut à tout moment visualiser les convocations aux matches à venir. état-civil, adresse, numéros de téléphone,adresse mail, nom du club auquel il appartient éventuellement)

<?php	
  // on recupère les informations de l'arbitre connecter
  $resultat = $connexion->prepare("SELECT NOM_ARBITRE, PRENOM_ARBITRE, ADRESSE_ARBITRE, CP_ARBITRE,              MAIL_ARBITRE, NOM_CLUB FROM arbitre a
	                        inner join club c on a.NUM_CLUB=c.NUM_CLUB
				where NUM_ARBITRE=:code");

  $resultat->execute(array('code'=>$_SESSION['NUM_ARBITRE']));
  
  $ligne=$resultat->fetch();	
?>

Et on les affiche les information sur l'arbitre.

  <?php echo $ligne['NOM_ARBITRE'].' '.$ligne['PRENOM_ARBITRE'] ;?></br>
  <?php echo $ligne['ADRESSE_ARBITRE'] ;?></br>
  <?php echo $ligne['CP_ARBITRE'] ;?></br>
  <?php echo $ligne['MAIL_ARBITRE'] ;?></br>
  <?php echo $ligne['NOM_CLUB'] ;?></br>

Deuxième partie: Pour chaque match, il est souhaitable de faire afficher toutes les données présentes sur sa convocation (informations sur le championnat, sur le match lui-même, qui est son co-arbitre, et le montant de sa rémunération). Il est souhaitable que ces convocations soient triées par date match croissant

<?php			
  $resultat1 = $connexion->prepare('SELECT nom_championnat, nom_type_championnat, nom_division, nom_categorie, date_match, heure_match, adresse_salle,num_match, montant_deplt_p, e.nom_equipe as eq1, eq.nom_equipe as eq2, a.nom_arbitre as ar1, ar.nom_arbitre as ar2
				FROM matchs m
				INNER JOIN salle s ON m.num_salle = s.num_salle
				RIGHT OUTER JOIN equipe e ON m.num_equipe_1 = e.num_equipe
				RIGHT OUTER JOIN equipe eq ON m.num_equipe_2 = eq.num_equipe
				INNER JOIN championnat c ON e.num_championnat = c.num_championnat
				INNER JOIN division d ON c.num_division = d.num_division
				INNER JOIN categorie ca ON c.num_categorie = ca.num_categorie
				INNER JOIN type_championnat ch ON c.num_type_championnat = ch.num_type_championnat
				RIGHT OUTER JOIN arbitre a ON m.num_arbitre_p = a.num_arbitre
                                RIGHT OUTER JOIN arbitre ar ON m.num_arbitre_s = ar.num_arbitre
					WHERE num_arbitre_p=:c1 or num_arbitre_s =:c1
					ORDER BY date_match');
															
  $resultat1->execute(array( 'c1'=>$_SESSION['NUM_ARBITRE']));
?>

On utilise ORDER BY date_match pour trier les matchs par ordre croissant Et on affiche ça sous forme de tableau.

<table border='1'>
    <tr>
	<td><strong>Championnat<strong></td>
	<td><strong>Type championnat<strong></td>
	<td><strong>Division </strong></td>
	<td><strong>Catégorie</strong></td>
	<td><strong>Date match </strong></td>
	<td><strong>Heure match </strong></td>
	<td><strong>Salle </strong></td>
	<td><strong>Equipe 1</strong></td>
	<td><strong>Equipe 2</strong></td>
	<td><strong>Arbitre principal</strong></td>
	<td><strong>Arbitre secondaire</strong></td>
	<td><strong>Salaire</strong></td>

   </tr>
	<?php
	   while($ligne=$resultat1->fetch()){
	?>
   <tr>
	<td><?php echo $ligne['nom_championnat'] ;?></td>
	<td><?php echo $ligne['nom_type_championnat'] ;?></td>
	<td><?php echo $ligne['nom_division'] ;?></td>
	<td><?php echo $ligne['nom_categorie'] ;?></td>
	<td><?php echo $ligne['date_match'] ;?></td>
	<td><?php echo $ligne['heure_match'] ;?></td>
	<td><?php echo $ligne['adresse_salle'] ;?></td>
	<td><?php echo $ligne['eq1'] ;?></td>
	<td><?php echo $ligne['eq2'] ;?></td>
	<td><?php echo $ligne['ar1'] ;?></td>
	<td><?php echo $ligne['ar2'] ;?></td>
	<td><?php echo $ligne['montant_deplt_p'] ;?></td>
   </tr>
			
        <?php
	   }
	?>
</table>
$resultat1->CloseCursor();
== Quatrième séance ==

Pour finir, on a tous mis le code dans un TEST afin qu'on affiche les informations sur l'arbitre et ces match que lorsqu'il est connecté.

<?php
session_start();	
if($_SESSION['type']==2)
{	
	try
	{
		// On se connecte à MYSQL
		$connexion= new PDO ('mysql:host=localhost; dbname=bdarbitres', 'root', '');
	}

	catch(Exception $e)
	{
		// en cas d'erreur 
		die ('Erreur : '.$e->getMessage());	
	}
?>
.
.
.
}	
?>

voici la liste des matchs de l'arbitre connecté

Guide utilisateurs

slam/ws/2011/ppe2.2/equipe6/accueil.txt · Dernière modification: 2014/01/07 13:56 (modification externe)