Suppression des catégories

Attention, depuis PHP 5.5.0, certaines extensions SQL sans doute utilisées dans ce tutoriel peuvent être obsolètes et seront supprimées dans le futur, vous devez donc adapter les codes! Exemples ici.
Nous allons créer une nouvelle page nommé "supprimer-categorie.php", qui sera enregistré dans le dossier "admin" et qui va nous permettre de supprimer nos catégories.

Comme d'habitude, on récupère l'identifiant transmit dans l'url depuis la page "index.php", puis on va chercher les données correspondant dans la table adéquate.

Rappel du lien de la page "index.php" :

 

<a href="supprimer-categorie.php?id='.$affiche['id'].'"><img src="images/supprimer.png" 
alt="Supprimer"/></a>
Pour supprimer une catégorie, nous allons juste utiliser le bouton d'un formulaire :
<form action="supprimer-categorie.php?id=<?php echo $id;?>" method="post">
<p><input name="Supprimer" value="Supprimer la cat&eacute;gorie N°<?php echo $id;?>
" type="submit" /></p> </form>

Après, ça se complique un tout petit peu ^^ ...

Il serait bête d'effacer une catégorie qui contient des articles, alors pour éviter se désagrément, nous allons vérifier au préalable que celle-ci soit bien vide. Si la catégorie est vide de tout article, on affiche le bouton pour la supprimer. A l'inverse, si la catégorie contient quelque chose, on cache le bouton de suppression et on affiche une alerte au webmaster.

<?php
//On récupère l'identifiant
$id = $_GET["id"];
//on initialise notre formulaire pour pouvoir le masquer
$masquer_formulaire = 0;
// on se connecte à la base de données
include('../connexion_bd.php');
 
mysql_connect("$nom_du_serveur","$nom_utilisateur","$passe");
mysql_select_db("$nom_de_la_base") or die('Impossible de s&eacute;lectionner une base de donn&eacute;e. Assurez vous d\'avoir correctement remplit les donn&eacute;es du fichier data_bd.php.');
 
//On vérifie que la catégorie ne comporte aucun article
$result = mysql_query("SELECT id_categorie FROM CONTENU WHERE id_categorie = $id");
if(mysql_num_rows($result) != 0)
{
	echo '<div class="cadre"><p>Cette cat&eacute;gorie comporte actuellement un ou des articles! Il vous est donc impossible de la supprimer.<br/> 	<a href="javascript:history.back()">Retour page pr&eacute;c&eacute;dente</a></p></div>';
	//La catégorie contient quelque chose, alors on masque le formulaire
	$masquer_formulaire=1;
}
//Si l'action de supprimer a été effectué
if(isset($_POST["Supprimer"]))
{
	//On efface la catégorie
	$efface_donnees = mysql_query("DELETE FROM CATEGORIES WHERE id = $id");
 
	//Si il y a une erreur, on crie ^^
	if (!$efface_donnees) {
		die('Requête invalide : ' . mysql_error());
	}
	else {
		//Si tout c'est bien passé, on informe que le message est supprimé
		echo '<div class="cadre"><p>La cat&eacute;gorie à &eacute;t&eacute; supprim&eacute; avec succès. <a href=index.php>Retour à l\'administration.</a></p></div>';
	}
	//on masque le formulaire pour n'afficher que le message
	$masquer_formulaire=1;
	// On ferme isset($_POST["Supprimer"]))
}
 
//on masque le formulaire en fonction des résultats
if($masquer_formulaire == 0) { 
	?>
 
	<form action="supprimer-categorie.php?id=<?php echo $id;?>" method="post">
	<p><input name="Supprimer" value="Supprimer la cat&eacute;gorie N°<?php echo $id;?>"
	type="submit" /></p>
	</form>
 
	<?php 
	//on ferme la boucle if($masquer_formulaire == 0)
}
?>

 

Bon, je pense que le code est suffisamment commenté pour en comprendre son fonctionnement et par la même occasion, je vous laisse faire l'intégration de ce code dans le design ... faut bien que vous bossiez un peut quand même .

Voir/déposer un commentaire (11) | Signaler un problème