Bonjour,
je sais pas si c'est bien le titre exacte mais mon probléme est le suivant :
pour ces 2 tables missions et livrables (on a chaque IDLivrable est associé a un IDMission) et lorsque je supprime une Mission je supprime tout ses fils mais le probléme que je voudrais aussi supprimer les livrables correspondants dans la table livrables
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 CREATE TABLE `missions` ( `IDMission` int(11) NOT NULL default '0', `IDParent` int(11) default NULL, `IDProjet` int(11) NOT NULL default '0', `Libelle` varchar(254) default NULL, `chemin` varchar(254) NOT NULL default '', PRIMARY KEY (`IDMission`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1; CREATE TABLE `livrables` ( `IDLivrable` int(11) NOT NULL default '0', `IDMission` int(11) NOT NULL default '0', `IDProjet` int(11) NOT NULL default '0', `Libelle` varchar(254) default NULL, `Type` varchar(254) default NULL, PRIMARY KEY (`IDLivrable`,`IDMission`,`IDProjet`), UNIQUE KEY `IDMission` (`IDMission`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1;code de suppression des missions (en php)
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 INSERT INTO `missions` VALUES (11, 0, 1, 'Mission2', '11-'); INSERT INTO `missions` VALUES (12, 0, 1, 'Mission4', '12-'); INSERT INTO `missions` VALUES (16, 11, 1, 'Sous-Mission2-1', '11-16-'); INSERT INTO `missions` VALUES (10, 0, 1, 'Mission3', '10-'); INSERT INTO `missions` VALUES (1, 0, 1, 'Mission1', '1-'); INSERT INTO `missions` VALUES (17, 11, 1, 'Sous-Mission2-2', '11-17-'); INSERT INTO `missions` VALUES (14, 0, 2, 'Mission1', '14-'); INSERT INTO `missions` VALUES (15, 0, 2, 'Mission2', '15-'); INSERT INTO `livrables` VALUES (6, 12, 1, 'Livrable de la Mission4', 'Application'); INSERT INTO `livrables` VALUES (3, 10, 1, 'Livrable de la Mission3', 'Rapport'); INSERT INTO `livrables` VALUES (7, 1, 1, 'Livrable de la Mission1', 'Données'); INSERT INTO `livrables` VALUES (8, 14, 2, 'Livrable Mission1', 'Rapport'); INSERT INTO `livrables` VALUES (9, 11, 1, 'Livrable de la Mission2', 'Application'); INSERT INTO `livrables` VALUES (10, 16, 1, 'LivrableSM2-1', 'Rapport'); INSERT INTO `livrables` VALUES (11, 18, 1, 'Livrable Mission5', 'Rapport');
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 function deleteMissions($IDMission) { // Requête $cle = $IDMission.'-'; $sql = "DELETE FROM missions WHERE chemin like '%$cle%';"; // Exécution et résultat if (mysql_query($sql)) { $this->message = "Suppression effectué avec succès!"; } else { $this->message = "Un problème est survenu lors de la suppression!"; } }
Partager