Bonjour à toutes et à tous,

je suis en train de concevoir un outil de gestion de contenu (=CMS) assez basique dans l'ensemble.
J'essaye de trouver une méthode pour afficher hiérarchiquement l'historique d'une page (=son contenu).

Voici un exemple (simplifié) de ce que j'aimerais avoir :
Ici, on affiche l'historique des modifs de la page "Présentation" (id:26)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
Présentation (id=26) (créé le 09 septembre 2007 à 09 :00 :00)

    +------->(id=37, v1) modifié le 1 octobre 2007 à 10 :10 :00
    +------->(id=38, v2) modifié le 1 octobre 2007 à 11 :11 :00
         +------->(id=41, v2.1) modifié le 14 octobre 2007 à 14 :14 :00
    +------->(id=39, v3) modifié le 03 octobre 2007 à 12 :12 :00
         +------->(id=40, v3.1) modifié le 03 octobre 2007 à 13:13 :00
         +------->(id=42, v3.2) modifié le 15 octobre 2007 à 15 :15 :00
              +------->(id=46, v3.2.1) modifié le 15 novembre 2007 à 19 :19 :00
         +------->(id=45, v3.3) modifié le 30 octobre 2007 à 18 :18 :00
    +------->(id=43, v4) modifié le 22 octobre 2007 à 16 :16 :00
         +------->(id=44, v4.1) modifié le 23 octobre 2007 à 17 :17 :00
à partir de :
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
CREATE TABLE `t_page` (
  `id` MEDIUMINT unsigned NOT NULL auto_increment,
  `origine_id` MEDIUMINT unsigned,
  `parent_id` MEDIUMINT unsigned,
  `html` TEXT NOT NULL,
  `date_creation` DATETIME NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci AUTO_INCREMENT=47;
 
INSERT INTO `t_page` (`id`, `origine_id`, `parent_id`, `date_creation`, `html`) VALUES 
(37, 26, 26, "2007-10-01 10:10:00", "modif v1"), 
(38, 26, 26, "2007-10-01 11:11:00", "modif v2"), 
(39, 26, 26, "2007-10-03 12:12:00", "modif v3"), 
(40, 26, 39, "2007-10-03 13:13:00", "modif v3.1"), 
(41, 26, 38, "2007-10-14 14:14:00", "modif v2.1"), 
(42, 26, 39, "2007-10-15 15:15:00", "modif v3.2"), 
(43, 26, 26, "2007-10-22 16:16:00", "modif v4"), 
(44, 26, 43, "2007-10-23 17:17:00", "modif v4.1"), 
(45, 26, 39, "2007-10-30 18:18:00", "modif v3.3"), 
(46, 26, 42, "2007-11-15 19:19:00", "modif v3.2.1");
Donc vous comprendrez que l'affiche n'est pas classé "bêtement" par date mais par version.
Est-il possible de faire cela sachant que la version n'est pas enregistrée en dure ?
Merci d'avance.