<?php
//Fonction pour rediriger vers une autre page

function redirection($url){
if (headers_sent()){ 
print('<meta http-equiv="refresh" content="0;URL='.$url.'">');
} else { 
header("Location: $url"); 
} 
}

/* ################################################################################################################### */

//Fonction pour supprimer les lignes de corresp_cd_oeuvre_detail qui n'ont pas de correspondance dans 
//corresp_cd_oeuvre

function purge_corresp_cd_oeuvre_detail()
{
require "codbfile";
 $sql="select c1.id_corresp_cd_oeuvre_detail from corresp_cd_oeuvre_detail c1 left join corresp_cd_oeuvre c2 on c1.id_corresp_cd_oeuvre=c2.id_corresp_cd_oeuvre
 where c2.id_corresp_cd_oeuvre is null";
 $result = mysql_query($sql)
           or die ("Impossible de charger la liste des lignes de corresp_cd_oeuvre_detail à supprimer.");

 $nb_ligne=mysql_num_rows($result);
 if ($nb_ligne>0)
 {
	$i=0;
	$liste_ligne=0; //Permet de ne jamais avoir une liste vide pour éviter les erreurs
	while ($ligne=mysql_fetch_array($result))
    {
		$i++;
		extract($ligne);
        $liste_ligne=$liste_ligne.",".$id_corresp_cd_oeuvre_detail;

    }
 $sql="delete from corresp_cd_oeuvre_detail where id_corresp_cd_oeuvre_detail in ($liste_ligne)";


 $result=mysql_query($sql)
        or die ("Impossible de supprimer les lignes de corresp_cd_oeuvre_detail.");

 }

}
/*#####################################################################################################################*/
//Fonction pour supprimer les lignes de detail_oeuvre qui ne sont pas liées à une oeuvre

function purge_detail_oeuvre()
{
require "codbfile";
//On charge la liste des id_detail_oeuvre à supprimer
$sql="select d.id_detail_oeuvre from detail_oeuvre d left join oeuvre o on d.id_oeuvre=o.id_oeuvre where o.id_oeuvre is null";
$result=mysql_query($sql) or die ("Impossible de charger la liste des details à supprimer dans detail_oeuvre.");
$nb_ligne=mysql_num_rows($result);
if ($nb_ligne>0)
{
	$liste_id_detail_oeuvre_suppr="0"; //Pour que la liste ne soit jamais vide et ne pas avoir d'erreur dans la requête delete
	while ($ligne=mysql_fetch_array($result))
	{
		extract($ligne);
		$liste_id_detail_oeuvre_suppr=$liste_id_detail_oeuvre_suppr.",".$id_detail_oeuvre;
	}
}

//On exécute la requête pour supprimer les lignes
$sql="delete from detail_oeuvre where id_detail_oeuvre in ($liste_id_detail_oeuvre_suppr)";
$result=mysql_query($sql) or die ("Impossible de supprimer les lignes de la table detail_oeuvre.");
}
/*#####################################################################################################################*/
//Fonction pour supprimer les lignes de corresp_cd_oeuvre qui ne sont pas liées à une oeuvre ou un cd

function purge_corresp_cd_oeuvre()
{
require "codbfile";
//On charge la liste des id_corresp_cd_oeuvre qui ne sont plus liés à une oeuvre
$sql="select c.id_corresp_cd_oeuvre from corresp_cd_oeuvre c left join oeuvre o on c.id_oeuvre=o.id_oeuvre where o.id_oeuvre is null";
$result=mysql_query($sql) or die ("Impossible de charger la liste des corresp_cd_oeuvre à supprimer dans corresp_cd_oeuvre.");
$nb_ligne=mysql_num_rows($result);
if ($nb_ligne>0)
{
	$liste_id_corresp_cd_oeuvre_suppr="0"; //Pour que la liste ne soit jamais vide et ne pas avoir d'erreur dans la requête delete
	while ($ligne=mysql_fetch_array($result))
	{
		extract($ligne);
		$liste_id_corresp_cd_oeuvre_suppr=$liste_id_corresp_cd_oeuvre_suppr.",".$id_corresp_cd_oeuvre;
	}
}

//On exécute la requête pour supprimer les lignes
$sql="delete from corresp_cd_oeuvre where id_corresp_cd_oeuvre in ($liste_id_coresp_cd_oeuvre_suppr)";
$result=mysql_query($sql) or die ("Impossible de supprimer les lignes de la table corresp_cd_oeuvre.");

//On charge la liste des id_corresp_cd_oeuvre qui ne sont plus liés à un cd
$sql="select c.id_corresp_cd_oeuvre from corresp_cd_oeuvre c left join cd on c.id_cd=cd.id_cd where cd.id_cd is null";
$result=mysql_query($sql) or die ("Impossible de charger la liste des corresp_cd_oeuvre à supprimer dans corresp_cd_oeuvre.");
$nb_ligne=mysql_num_rows($result);
if ($nb_ligne>0)
{
	$liste_id_corresp_cd_oeuvre_suppr="0"; //Pour que la liste ne soit jamais vide et ne pas avoir d'erreur dans la requête delete
	while ($ligne=mysql_fetch_array($result))
	{
		extract($ligne);
		$liste_id_corresp_cd_oeuvre_suppr=$liste_id_corresp_cd_oeuvre_suppr.",".$id_corresp_cd_oeuvre;
	}
}

//On exécute la requête pour supprimer les lignes
$sql="delete from corresp_cd_oeuvre where id_corresp_cd_oeuvre in ($liste_id_coresp_cd_oeuvre_suppr)";
$result=mysql_query($sql) or die ("Impossible de supprimer les lignes de la table corresp_cd_oeuvre.");

}
/*#####################################################################################################################*/
//Fonction pour supprimer les lignes de corresp_cd_oeuvre_interprete qui ne sont pas liées à une ligne de corresp_cd_oeuvre ou un interprète

function purge_corresp_cd_oeuvre_interprete()
{
require "codbfile";
//On charge la liste des id_corresp_cd_oeuvre_interprete qui ne sont plus liés à un id_corresp_cd_oeuvre
$sql="select c.id_corresp_cd_oeuvre_interprete from corresp_cd_oeuvre_interprete co left join corresp_cd_oeuvre c on co.id_corresp_cd_oeuvre=c.id_corresp_cd_oeuvre where c.id_corresp_cd_oeuvre is null";
$result=mysql_query($sql) or die ("Impossible de charger la liste des id_corresp_cd_oeuvre_interprete à supprimer dans corresp_cd_oeuvre_interprete.");
$nb_ligne=mysql_num_rows($result);
if ($nb_ligne>0)
{
	$liste_id_corresp_cd_oeuvre_interprete_suppr="0"; //Pour que la liste ne soit jamais vide et ne pas avoir d'erreur dans la requête delete
	while ($ligne=mysql_fetch_array($result))
	{
		extract($ligne);
		$liste_id_corresp_cd_oeuvre_interprete_suppr=$liste_id_corresp_cd_oeuvre_interprete_suppr.",".$id_corresp_cd_oeuvre_interprete;
	}
}

//On exécute la requête pour supprimer les lignes
$sql="delete from corresp_cd_oeuvre_interpre where id_corresp_cd_oeuvre_interprete in ($liste_id_coresp_cd_oeuvre_interprete_suppr)";
$result=mysql_query($sql) or die ("Impossible de supprimer les lignes de la table corresp_cd_oeuvre_interpete.");

//On charge la liste des id_corresp_cd_oeuvre_interprete qui ne sont plus liés à un interprete
$sql="select co.id_corresp_cd_oeuvre_interprete from corresp_cd_oeuvre_interprete co left join interprete i on co.id_interprete=i.id_interprete where i.id_interprete is null";
$result=mysql_query($sql) or die ("Impossible de charger la liste des id_corresp_cd_oeuvre_interprete à supprimer dans corresp_cd_oeuvre_interprete.");
$nb_ligne=mysql_num_rows($result);
if ($nb_ligne>0)
{
	$liste_id_corresp_cd_oeuvre_interprete_suppr="0"; //Pour que la liste ne soit jamais vide et ne pas avoir d'erreur dans la requête delete
	while ($ligne=mysql_fetch_array($result))
	{
		extract($ligne);
		$liste_id_corresp_cd_oeuvre_interprete_suppr=$liste_id_corresp_cd_oeuvre_interprete_suppr.",".$id_corresp_cd_oeuvre_interprete;
	}
}

//On exécute la requête pour supprimer les lignes
$sql="delete from corresp_cd_oeuvre_interpre where id_corresp_cd_oeuvre_interprete in ($liste_id_coresp_cd_oeuvre_interprete_suppr)";
$result=mysql_query($sql) or die ("Impossible de supprimer les lignes de la table corresp_cd_oeuvre_interpete.");
}

/*#####################################################################################################################*/
//Déclaration de la fonction qui renfoie les paramètres généraux du site

function parametres_generaux()
{
	require "codbfile";
	//On récupère les paramètres généraux
	$sql="select * from parametres";
	$result=mysql_query($sql)
			or die ("Impossible de récupérer les paramètres généraux.");
	$ligne=mysql_fetch_array($result);

	//On déclare les variables pour pouvoir les récupérer dans les autres pages
	global $path_photo_cd, $path_photo_compositeur, $path_photo_marque, $path_photo_interprete, $path_photo_recompense,
			$bgcolor_impaire, $bgcolor_paire, $bgcolor_frame, $adresse_lien_mail, $path_photo_marque_small, $path_photo_recompense_small, $path_fichier_oeuvre, $path_fichier_musique;

	//On extrait les données
	extract($ligne);
}
/* ################################################################################################################### */

?>
