我正在嘗試爲我的博客創建一個存檔頁面,該頁面也在構建中。我有三個不同的MySQL表,我需要從中拉出數據,其中1個與其他2無關。我發現了一個類似的帖子here,但看到我對PHP不怎麼有經驗,我無法弄清楚如何轉換那就是我需要的。我知道這很容易通過執行三個不同的查詢來完成,但這會給服務器帶來不必要的負載,並減慢頁面加載時間和其他一切。使用一個查詢從2個相關和1個不相關的MySQL表中獲取數據?
的2類相關的有「博客」和「類別」,而第三個是建立在博客不同的應用程序被稱爲「腦通」
下面是相關的表的兩個查詢:
$blogQuery = mysqli_query($link, "SELECT * FROM pub_blogs ORDER BY id DESC") or die ("Could not access DB: " . mysqli_error($link));
$row = mysqli_fetch_assoc($blogQuery);
$blogID = $link->real_escape_string($row['id']);
$title = $link->real_escape_string($row['title']);
$date = $link->real_escape_string($row['date']);
$category = $link->real_escape_string($row['category']);
$content = $link->real_escape_string($row['content']);
$blogID = stripslashes($blogID);
$title = stripslashes($title);
$date = stripslashes($date);
$category = stripslashes($category);
$content = stripslashes($content);
$catQuery = mysqli_query($link, "SELECT * FROM categories ORDER BY id DESC") or die ("Could not access DB: " . mysqli_error($link));
$row = mysqli_fetch_assoc($catQuery);
$catID = $link->real_escape_string($row['id']);
$catName = $link->real_escape_string($row['name']);
$description = $link->real_escape_string($row['descriptions']);
$catID = stripslashes($catID);
$catName = stripslashes($catName);
$description = stripslashes($description);
,這裏是第三個不相關的查詢:
$brainQuery = mysqli_query($link, "SELECT * FROM brain_links ORDER BY id DESC") or die ("Could not access DB: " . mysqli_error($link));
$row = mysqli_fetch_assoc($brainQuery);
$brainID = $link->real_escape_string($row['id']);
$site_name = $link->real_escape_string($row['site_name']);
$site_url = $link->real_escape_string($row['site_url']);
$post_date = $link->real_escape_string($row['post_date']);
是否有可能有一個查詢來獲取所有這三個數據?如果不是,有人能指向我的方向,告訴我如何加入兩個相關的?
的博客表中的「類別」欄下保存類別ID,以確定它屬於哪個類別
我明白任何幫助或建議!
你可以把表結構放在sql小提琴上,並請定義第三個表列 –