我試圖建立一種我不知道的論壇。只是玩弄一些代碼。如何從一個表中獲取一個結果,並使用相同的catID從另一個表中獲取一個結果?
現在我有兩張桌子,第一個是論壇類別,第二個是論壇板。
我現在的問題是,我可以使用LEFT JOIN或任何連接從類別表中取出其中的每一個,並從板上使用相同的catID獲取所有結果嗎?
這是我現在沒有工作代碼:
$query = $_database->query("
SELECT boards.name AS boardName, boards.info, boards.category, boards.boardID, boards.sort, boards.topics, boards.posts,
categories.catID, categories.name AS catName, categories.sort
FROM ".PREFIX."forum_boards AS boards LEFT JOIN ".PREFIX."forum_categories AS categories ON boards.category = categories.catID GROUP BY categories.catID ORDER BY boards.boardID");
while ($rad = $query->fetch_array()) {
echo '<h2>'.$rad['catName'].'</h2>';
echo $rad['boardName'];
}
有一個請求後我的表結構,這是
板:
CREATE TABLE IF NOT EXISTS `mm_forum_boards` (
`boardID` int(11) NOT NULL,
`category` int(11) NOT NULL DEFAULT '0',
`name` varchar(255) COLLATE utf8_unicode_ci NOT NULL DEFAULT '',
`info` varchar(255) COLLATE utf8_unicode_ci NOT NULL DEFAULT '',
`sort` int(2) NOT NULL DEFAULT '0',
`topics` int(11) NOT NULL DEFAULT '0',
`posts` int(11) NOT NULL DEFAULT '0'
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
分類:
CREATE TABLE IF NOT EXISTS `mm_forum_categories` (
`catID` int(11) NOT NULL,
`name` varchar(255) COLLATE utf8_unicode_ci NOT NULL DEFAULT '',
`info` varchar(255) COLLATE utf8_unicode_ci NOT NULL DEFAULT '',
`sort` int(11) NOT NULL DEFAULT '0'
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
一些數據:
INSERT INTO mm_forum_categories (`name`, `info`, `sort`) VALUES('Test Cat 1', 'Just giving some lorem data ^^', '1');
INSERT INTO mm_forum_categories (`name`, `info`, `sort`) VALUES('Test Cat 2', 'Just giving some lorem data ^^', '2');
INSERT INTO mm_forum_boards (`category`, `name`, `info`, sort`) VALUES('3', 'Test board 1', 'Lorem board for now', '1');
INSERT INTO mm_forum_boards (`category`, `name`, `info`, sort`) VALUES('3', 'Test board 2', 'Lorem board for now', '2');
INSERT INTO mm_forum_boards (`category`, `name`, `info`, sort`) VALUES('3', 'Test board 3', 'Lorem board for now', '3');
INSERT INTO mm_forum_boards (`category`, `name`, `info`, sort`) VALUES('4', 'Test board 4', 'Lorem board for now', '1')
你可以發佈你的表結構和一些測試/採樣數據嗎? – Akshay
我用表結構對我的帖子進行了編輯。 – Tommy
這是什麼意思,你選擇不工作?語法錯誤,沒有結果,錯誤的結果? – Meier