<?php
require "control_auth";
/* 		Nom du programme : admin_interprete.php
		Description : Permet d'administrer la table des interprètes (+ corresp_interprete_categorie)
		des Cd :
			- Créer de nouveaux interprètes par l'intermédiaire d'un
			formulaire.
			- Supprimer des interprètes : Afficher la liste des interprètes
			et supprimer l' interprète sélectionné.
			 - Modifier un interprète : Afficher la liste des interprètes,
			 puis afficher les infos de l' interprète sélectionnée
			 dans un formulaire pour pouvoir les modifier et les
			 enregistrer dans la table.
*/
?>
<html>
<head>
<title>Administration des interprètes</title>
</head>
<body>
<h1 align="center">Administration des interprètes</h1><hr>

<?php
/* 		On fait le test pour savoir l'action choisie :
		- créer (new)
			* form : affiche le formulaire
			* sql : enregistre les données
		- supprimer (del)
			* form : Afiche une liste déroulante des interprètes
			* sql : supprime l' interprète
		- modifier (edit)
			* list : Affiche une liste déroulante des interprètes pour choisir celui à modifier
			* form : Affiche le formulaire pour modifier les données
			* sql : Enregistre les modifications
*/

require ("fonctions");

$action=$_GET['action'];

Switch ($action)
{
	case ("new_form"):    // On veut créer une nouvel interprete
	{	echo "<div align='center'>Vous pouvez saisir les informations de l' interprète
		dans le formulaire ci-dessous et les sauvegarder en cliquant
		sur le bouton \"Enregistrer\".</div>";
		// On affiche le formulaire dans un tableau

		$cible_action="new_sql";   // pour indiquer l'action du formulaire
		require "admin_interprete_new.form";

		exit();
	}
	case ("new_sql"):	// On enregistre les données dans la table interprete
	{	$nom_interprete=$_POST['nom_interprete'];
		$prenom_interprete=$_POST['prenom_interprete'];
		$photo_interprete=$_POST['photo_interprete'];
		$nationalite_interprete=$_POST['nationalite_interprete'];
		$commentaire_interprete=$_POST['commentaire_interprete'];

		$tableau_interprete_categorie=$_POST['tableau_interprete_categorie'];
		$date_naissance_interprete=$_POST['date_naissance_interprete'];
		$date_mort_interprete=$_POST['date_mort_interprete'];

		// Requête pour ajouter l'interprete dans la table interprete
		$sql="insert into interprete ( nom_interprete, prenom_interprete, photo_interprete, commentaire_interprete, nationalite_interprete, date_naissance_interprete, date_mort_interprete)
				values (\"$nom_interprete\", \"$prenom_interprete\", '$photo_interprete', \"$commentaire_interprete\", \"$nationalite_interprete\", '$date_naissance_interprete', '$date_mort_interprete')";



		// On se connecte à la base pour exécuter la requête

		require "codbfile";

		// On exécute la requête pour mettre à jour la table interprete

		$result = mysql_query($sql)
					or die ("Impossible d'exécuter le requête");

		// On récupère l'id_interprete
		$sql2="select id_interprete from interprete
				where nom_interprete=\"$nom_interprete\" and prenom_interprete=\"$prenom_interprete\"";
		$result=mysql_query($sql2)
					or die ("Impossible d'exécuter la requête 2");
		$ligne=mysql_fetch_array($result);
		extract ($ligne);

		// On exécute la requête pour mettre à jour la table corresp_interprete_categorie

		foreach ($tableau_interprete_categorie as $cle => $id_categorie)
		{
		//Requête pour ajouter les couples interprete/catégorie dans la table corresp_interprete_categorie
		$sql3="insert into corresp_interprete_categorie (id_interprete, id_categorie_interprete)
				values ('$id_interprete', '$id_categorie')";

		$result=mysql_query ($sql3)
					or die ("Impossible d'exécuter la requête 3");
		}

		// Redirection vers index_admin.php
	        redirection("index_admin.php");

		exit ();
	}
	case ("del_form"): // On crée une liste déroulante des interpretes pour
	{					// pouvoir supprimer l' interprete sélectionné.

		echo "<div align='center'>Choisissez dans la liste l' interprete que vous souhaitez <b><font color='#FB0B03'>supprimer</font></b></div><p><p></p></p>\n";
		// On se connecte à la base pour exécuter la requête

		require "codbfile";

		// On exécute la requête

		$sql="select  id_interprete, nom_interprete, prenom_interprete from interprete order by nom_interprete";
		$result=mysql_query($sql)
				or die ("Impossible d'exécuter la requête");

		// on crée un tableau pour le formulaire
		echo "<table align='center'><form action='admin_interprete.php?action=del_sql' method='post'>\n
				<tr><td>interprete : </td>\n
					<td><select name='id_interprete'>\n";
							while ($ligne = mysql_fetch_array($result))
							{	extract($ligne);
								echo "<option value='$id_interprete'>$nom_interprete, $prenom_interprete</option>\n";
							}
					echo "</select></td>\n

				</tr>\n
				<tr><td colspan='2' align='right'><input type='submit' value='Supprimer'></td></tr>

		</form></table>\n";
		exit();
	}
	case ("del_sql"):  // On supprime les données de la table interprète et corresp_interprete_categorie
	{	$id_interprete=$_POST['id_interprete'];
		$sql="delete from interprete where id_interprete='$id_interprete'";
		$sql2="delete from corresp_interprete_categorie where id_interprete='$id_interprete'";


		// On se connecte à la base pour exécuter les requêtes

		require "codbfile";

		// On exécute les requêtes

		$result = mysql_query($sql)
					or die ("Impossible d'exécuter le requête");

		$result = mysql_query($sql2)
					or die ("Impossible d'exécuter le requête");

		// Redirection vers index_admin.php
	        redirection("index_admin.php");

		exit();
	}
	case ("edit_form_select"): //On affiche un formulaire pour ensuite afficher une liste des interprètes correspondants à la sélection
	{
	echo "
	<form action='admin_interprete.php?action=edit_list' method='POST'>
	<table align='center' width='90%'>
	<tr align='center' bgcolor='#328FC9'><td><font color='#FFFFFF'>Recherche d'un interprete</font></td></tr>
	<tr align='center' bgcolor='#E6E6E6'><td>Le nom de l'interprète contient : <input type='text' name='filtre_form'>
	<input type='submit' value='Rechercher'></td></tr>
	</table></form>";

	exit();
	}
	
	
	case ("edit_list"): // On affiche la liste des interprètes
	{ 
	$filtre_form=$_POST['filtre_form'];
	//On charge la liste des interprètes correspondants à la sélection
	$sql="select id_interprete, nom_interprete, prenom_interprete from interprete
	where (nom_interprete like '%$filtre_form%' or prenom_interprete like '%$filtre_form%')
	order by nom_interprete, prenom_interprete";
	// On se connecte à la base pour exécuter la requête

		require "codbfile";

	// On exécute la requête

		
		$result=mysql_query($sql)
				or die ("Impossible d'exécuter la requête");
	//On affiche la liste dans un tableau
		echo "<table align='center'>
		<tr><td colspan='2' align='center' bgcolor='#328FC9'><FONT color='white'>Liste des interprètes</FONT></td></tr>\n";
		$nb_ligne=mysql_num_rows($result);
		if ($nb_ligne==0)
		{
			echo "<tr><td>Il n'y a aucun interprète correspondant à votre sélection.</td></tr>";
		}
		else
		{
			parametres_generaux();
			while ($ligne=mysql_fetch_array($result))
			{
				extract ($ligne);
				if ($bgcolor==$bgcolor_impaire)
				{ $bgcolor=$bgcolor_paire; }
				else
				{ $bgcolor=$bgcolor_impaire;}
			
				echo "
				<tr bgcolor='$bgcolor'>
				<td><a href='admin_interprete.php?action=edit_form&id_interprete=$id_interprete'>$nom_interprete $prenom_interprete</td>
				</tr>\n";
			}
			echo "</table>";
		}
		exit();
	
	}
	case ("edit_form"): // On affiche un formulaire pour modifier les données
	{	$id_interprete=$_GET['id_interprete'];

				echo "<div align='center'>Utilisez le formulaire suivant pour modifier les informations</div><p></p>\n";
		// On se connecte à la base pour exécuter la requête

		require "codbfile";

		// On exécute la reqête
		$sql="select  * from interprete where id_interprete=$id_interprete";
		
		$result=mysql_query($sql)
				or die ("Impossible d'exécuter la requête");

		$ligne=mysql_fetch_array($result);
		extract($ligne);

		// On affiche les données dans un formulaire

                $cible_action="edit_sql";         // Pour compléter l'action du formulaire
		require "admin_interprete_edit.form";

		exit();
	}
	case ("edit_sql"): // On enregistre les données dans la base
	{ 	$id_interprete=$_POST['id_interprete'];
		$nom_interprete=$_POST['nom_interprete'];
		$prenom_interprete=$_POST['prenom_interprete'];
		$photo_interprete=$_POST['photo_interprete'];
		$nationalite_interprete=$_POST['nationalite_interprete'];
		$commentaire_interprete=$_POST['commentaire_interprete'];
		$tableau_interprete_categorie=$_POST['tableau_interprete_categorie'];
		$date_naissance_interprete=$_POST['date_naissance_interprete'];
		$date_mort_interprete=$_POST['date_mort_interprete'];


		$sql="update interprete set nom_interprete=\"$nom_interprete\", prenom_interprete=\"$prenom_interprete\", photo_interprete='$photo_interprete', nationalite_interprete=\"$nationalite_interprete\", commentaire_interprete=\"$commentaire_interprete\",  date_naissance_interprete='$date_naissance_interprete', date_mort_interprete='$date_mort_interprete'
				where id_interprete='$id_interprete'";
                		// On se connecte à la base pour exécuter la requête

		require "codbfile";


		// On met à jour la table interprete

		// On exécute la requête
		$result = mysql_query($sql)
					or die ("Impossible de mettre à jour la table interprete");

		// On met à jour la table corresp_interprete_categorie

		// On supprime les lignes existantes
		$sql="delete from corresp_interprete_categorie
				where id_interprete=$id_interprete";
		$result=mysql_query($sql)
					or die ("Impossible de supprimer les lignes de corresp_interprete_categorie");

		// On enregistre les lignes de la mise à jour

		foreach ($tableau_interprete_categorie as $cle => $id_categorie)
		{
		//Requête pour ajouter les couples interprete/catégorie dans la table corresp_interprete_categorie
		$sql3="insert into corresp_interprete_categorie (id_interprete, id_categorie_interprete)
				values ('$id_interprete', '$id_categorie')";
		$result=mysql_query ($sql3)
					or die ("Impossible d'exécuter la requête 3");
		}


		// Redirection vers index_admin.php
	        redirection("index_admin.php");

		exit();
	}
}



?>

</body>

</html>
