Bonjour à tous,
je bloque actuellement sur un programme php.
Le but de ce programme est de gérer les associations d'une commune. Chaque association a une ou des activités. Je suis actuellement en train de travailler sur la suppression des activités.
J'ai créé un formulaire de suppression, il me permet de choisir dans une liste l'activité à supprimer entre celles présentent dans la bdd.
La suppression s'effectue bien mais je cherche à faire un code plus performant qui me permettent lors de la suppression de l'activité si l'association possède d'autres activités. Si l'activité qu'on souhaite supprimer et la seule activité gérer par l'association on supprime l'association en question et c'est là que je bloque...
Je ne vois pas comment faire en pratique, théoriquement il faudrait que je compte le nombre de champ 'ASSOCIATION' ayant la même ID dans la table "activite" afin de voir si l'association possède d'autre activités. Si c'est le cas, on supprime que l'activité sinon on supprime l'activité et l'association correspondante.
Je ne vois pas comment réaliser une requête SQL, récupérer le résultat et le réutiliser dans une seconde requête...
Voici mon code pour le formulaire:
Et le code de la page de traitement :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41 <html> <head> <meta charset="utf-8" /> <title>Supprimer une activité</title> <link rel="stylesheet" type="text/css" href="stylepage.css"> <!-- Lien vers le css --> <script language="Javascript"> function Demande_verification() { msg = "Voulez-vous vraiment supprimer cette activité ? \n Attention la suppression d'une activité supprime aussi les activités qui lui sont liées"; return confirm(msg); } </script> </head> <body> <?php include 'connectionbdd.php'; // permet la connection à la base de données grâce au fichier connectionbdd.php ?> <h1> Supprimer une activité </h1> <form action="traitementsupprimactivite.php" method="post" onSubmit="return Demande_verification()"> <label for="LIBELLE"> Nom de l'activité : </label> <select name="LIBELLE" id="LIBELLE"> <option> </option> <?php $reponse = $bdd->query('SELECT * FROM activite'); while ($donnees = $reponse->fetch()) { ?> <option value="<?php echo $donnees['ID']; ?>"> <?php echo $donnees['ID'] ." ". $donnees['LIBELLE']; ?> </option> <?php } ?> </select> </br></br> <input type= "submit" value= "Supprimer"> </br> </form> </body> </html>
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33 <html> <head> <meta charset="utf-8" /> <title>Page protégée par mot de passe</title> <link rel="stylesheet" type="text/css" href="stylepage.css"> <!-- Lien vers le css --> </head> <body> <?php include 'connectionbdd.php'; // permet la connection à la base de données grâce au fichier connectionbdd.php $testnom_activite = !empty($_POST['LIBELLE']) ? $_POST['LIBELLE'] : NULL; // On regarde si le champ est rempli $id_activite = $_POST['LIBELLE']; if ($testnom_activite!=NULL) { $req = $bdd->prepare('DELETE FROM activite WHERE ID = :id'); $req->execute(array( 'id' => $id_activite )); $message = "L'activité a bien été supprimé."; } else { $message = "Vous n'avez pas choisi l'activité à supprimer ou l'activité choisi est inexistante"; include 'supreactivite.php'; } echo $message; ?> </body> </html>
Partager