par
Invité » 04 mars 2006, 18:01
Il s'agit d'une page qui affiche les posts d'un topic. Il s'agit de retracer l'arborescence de la page. C'est à dire, le nom du topic et l'ID (tid) du forum (id_forum) auquel appartien le topic, à partir de l'ID contenue dans l'URL ($id, table forums_topics). Ensuite, il faut récupérer dans la table forum_rub le nom du forum contenant le topic (NameRub), et la catégorie mère de ce forum (IdRubMere) à partir du forum_id obtenu dans la table forum_topics. Ensuite, à partir de l'IdRubMere obtenu précédement, il faut récupérer le nom de la catégorie mère associé à cet IdRubMere, donc càd, le nom de la catégorie pour laquelle IdRub est égale à l'IdRubMere précédent.
Code : Tout sélectionner
CREATE TABLE `forum_topics` (
`tid` int(10) NOT NULL auto_increment, // ID du topic
`title` varchar(250) NOT NULL default '', // nom du topic
`description` varchar(70) default NULL,
`state` varchar(8) default NULL,
`posts` int(10) default NULL,
`starter_id` mediumint(8) NOT NULL default '0',
`start_date` int(10) default NULL,
`last_poster_id` mediumint(8) NOT NULL default '0',
`last_post` int(10) default NULL,
`icon_id` tinyint(2) default NULL,
`starter_name` varchar(32) default NULL,
`last_poster_name` varchar(32) default NULL,
`poll_state` varchar(8) default NULL,
`last_vote` int(10) default NULL,
`views` int(10) default NULL,
`forum_id` smallint(5) NOT NULL default '0', // ID du forum père
`approved` tinyint(1) default NULL,
`author_mode` tinyint(1) default NULL,
`pinned` tinyint(1) default NULL,
`moved_to` varchar(64) default NULL,
`rating` text,
`total_votes` int(5) NOT NULL default '0',
PRIMARY KEY (`tid`),
KEY `last_post` (`last_post`),
KEY `forum_id` (`forum_id`,`approved`,`pinned`),
FULLTEXT KEY `title` (`title`)
) TYPE=MyISAM AUTO_INCREMENT=477 ;
CREATE TABLE `forum_rub` (
`IdRub` int(11) NOT NULL auto_increment, // N° de la rubrique ou catégorie
`NameRub` text NOT NULL, // Nom de la rubrique ou catégorie
`IdRubMere` int(11) NOT NULL default '0', // N° de la catégorie mère, = 0 s'il s'agit d'une catégorie mère
`StateRub` int(11) NOT NULL default '1',
`Description` text NOT NULL,
`NbTopics` int(11) NOT NULL default '0',
`NbPosts` int(11) NOT NULL default '0',
`LastPost_Date` int(10) NOT NULL default '0',
`LastPoster` varchar(50) NOT NULL default '',
`LastPoster_Id` int(11) NOT NULL default '0',
`IdLast` int(11) NOT NULL default '0',
PRIMARY KEY (`IdRub`)
) TYPE=MyISAM PACK_KEYS=0 AUTO_INCREMENT=21 ;
Voilà...
Il s'agit d'une page qui affiche les posts d'un topic. Il s'agit de retracer l'arborescence de la page. C'est à dire, le nom du topic et l'ID (tid) du forum (id_forum) auquel appartien le topic, à partir de l'ID contenue dans l'URL ($id, table forums_topics). Ensuite, il faut récupérer dans la table forum_rub le nom du forum contenant le topic (NameRub), et la catégorie mère de ce forum (IdRubMere) à partir du forum_id obtenu dans la table forum_topics. Ensuite, à partir de l'IdRubMere obtenu précédement, il faut récupérer le nom de la catégorie mère associé à cet IdRubMere, donc càd, le nom de la catégorie pour laquelle IdRub est égale à l'IdRubMere précédent.
[code]CREATE TABLE `forum_topics` (
`tid` int(10) NOT NULL auto_increment, // ID du topic
`title` varchar(250) NOT NULL default '', // nom du topic
`description` varchar(70) default NULL,
`state` varchar(8) default NULL,
`posts` int(10) default NULL,
`starter_id` mediumint(8) NOT NULL default '0',
`start_date` int(10) default NULL,
`last_poster_id` mediumint(8) NOT NULL default '0',
`last_post` int(10) default NULL,
`icon_id` tinyint(2) default NULL,
`starter_name` varchar(32) default NULL,
`last_poster_name` varchar(32) default NULL,
`poll_state` varchar(8) default NULL,
`last_vote` int(10) default NULL,
`views` int(10) default NULL,
`forum_id` smallint(5) NOT NULL default '0', // ID du forum père
`approved` tinyint(1) default NULL,
`author_mode` tinyint(1) default NULL,
`pinned` tinyint(1) default NULL,
`moved_to` varchar(64) default NULL,
`rating` text,
`total_votes` int(5) NOT NULL default '0',
PRIMARY KEY (`tid`),
KEY `last_post` (`last_post`),
KEY `forum_id` (`forum_id`,`approved`,`pinned`),
FULLTEXT KEY `title` (`title`)
) TYPE=MyISAM AUTO_INCREMENT=477 ;
CREATE TABLE `forum_rub` (
`IdRub` int(11) NOT NULL auto_increment, // N° de la rubrique ou catégorie
`NameRub` text NOT NULL, // Nom de la rubrique ou catégorie
`IdRubMere` int(11) NOT NULL default '0', // N° de la catégorie mère, = 0 s'il s'agit d'une catégorie mère
`StateRub` int(11) NOT NULL default '1',
`Description` text NOT NULL,
`NbTopics` int(11) NOT NULL default '0',
`NbPosts` int(11) NOT NULL default '0',
`LastPost_Date` int(10) NOT NULL default '0',
`LastPoster` varchar(50) NOT NULL default '',
`LastPoster_Id` int(11) NOT NULL default '0',
`IdLast` int(11) NOT NULL default '0',
PRIMARY KEY (`IdRub`)
) TYPE=MyISAM PACK_KEYS=0 AUTO_INCREMENT=21 ;
[/code]
Voilà...