Я хотел бы, чтобы сгруппировать мои форумы по категориям, как показано здесь:Как группировать различные форумы в категории PHP
Я в настоящее время есть таблица базы данных называется forum_categories
, которая принимает название и создает идентификатор для всех созданных категорий. У меня также есть столбец в таблице базы данных с именем forum_forums
(все разные форумы, которые я хочу классифицировать), который принимает значение с именем category_apart_of
.
Как я хотел бы перечислить форумы в их правильном идентификаторе категории?
Большое вам спасибо!
Если вы хотите увидеть какой-либо из моих кодов или хотите, чтобы я объяснил что-нибудь более подробное, скажите, пожалуйста.
Мой текущий код для перечисления на форумах (примечание: запрос SQL, чтобы получить все форумы выше):
<thead>
<tr>
<th style="width: 50%;">Forum</th>
<th style="width: 10%;">Threads</th>
<th style="width: 10%;">Posts</th>
<th style="width: 30%;">Latest Posts</th>
</tr>
</thead>
<tbody>
<?php
while($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
$forumID = $row['forumID'];
$forum_title[] = $row['forum_title'];
$forum_description[] = $row['forum_description'];
$forum_total_threads[] = $row['forum_total_threads'];
$forum_total_posts[] = $row['forum_total_posts'];
$forum_latest_thread[] = $row['forum_latest_thread'];
$stmt2 = $db->prepare("SELECT * FROM forum_threads WHERE forum_thread_belongs_to = '$forumID'");
$stmt2->execute();
$count = $stmt2->rowCount();
echo '
<tr><td><h4 style="margin-bottom: 0px;"><a style="margin-bottom: 0px;" href="forum.php?id='
. $row['forumID'] . ' ">'.$row['forum_title']
. '</a></h4><br /><h6 style="margin-bottom: 0px; margin-top: 0px;">'
.$row['forum_description'].'</h6></td><td style="text-align: center;><span">'.$count
.'</span></td><td style="text-align: center;><span">'.$row['forum_total_posts']
.'</span></td><td>'.$row['forum_latest_thread'].'</td></tr>
';
}
?>
</tbody>
DDL для обеих таблиц:
CREATE TABLE IF NOT EXISTS `forum_forums` (
`forumID` int(11) NOT NULL AUTO_INCREMENT,
`forum_title` varchar(255) NOT NULL,
`forum_description` varchar(255) NOT NULL DEFAULT 'This forum does not have a description',
`forum_total_threads` int(255) NOT NULL DEFAULT '0',
`forum_total_posts` int(255) NOT NULL DEFAULT '0',
`forum_latest_thread` varchar(255) NOT NULL DEFAULT 'There are no new threads',
`forum_apart_of` int(11) NOT NULL,
`category_apart_of` int(11) NOT NULL,
PRIMARY KEY (`forumID`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
CREATE TABLE IF NOT EXISTS `forum_categories` (
`catID` int(11) NOT NULL AUTO_INCREMENT,
`cat_title` varchar(255) NOT NULL,
PRIMARY KEY (`catID`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
Я немного смущен вашей структуры базы данных. Не могли бы вы изменить свой вопрос, включив ERD или DDL? –
Ваш опубликованный DDL не содержит таблицу 'forum_threads', на которую ссылается ваш код. –
Исправлено, извините за это. – Jakob