連接表我有這個疑問在MySQL查詢,而不是多個查詢的
$query = "SELECT * FROM items WHERE itemStatus = '1' AND itemAdded > '$timestamp'";
一旦該查詢返回的結果我遍歷結果
結果陣列的itemid,itemLocationID,categoryParentID,的categoryID, ITEMNAME,itemDetails
在循環然後我用同一個類中調用函數運行其他三個查詢
$locationName = $this->getLocationByName($locationID);
$categoryParentName = $this->getCategoryByName($categoryParentID);
$categoryName = $this->getCategoryByName($categoryID);
函數getLocationByName執行此查詢;
$q = mysql_query("SELECT * FROM locations WHERE locationID = '$locationID'");
此返回locationID,LOCATIONNAME的陣列,locationLink
功能getCategoryByName執行該查詢;
$q = mysql_query("SELECT * FROM categories WHERE categoryID = '$categoryID'");
這個返回的categoryID,類別名稱的數組,categoryLink
可能有人請幫我優化這個查詢,並可能加入他們的行列,以節省做這麼多的疑問。
在此先感謝。
林現在使用此查詢
$q = mysql_query("SELECT
i.itemID,
i.locationID,
i.categoryParentID,
i.categoryID,
i.itemName,
i.itemDetails,
l.*,
c.*
FROM 物品i 內上i.locationID = l.locationID 內部聯接類別C於i.categoryID = c.categoryID WHERE itemStatus加入位置升= '1' AND itemAdded> '$時間戳'「)或死亡(mysql_error());
,其結果是
Array
( [ITEMID] => 81300 [locationID] => 17 [categoryParentID] => 21 [的categoryID] => 183 [ITEMNAME] =>嗒嗒 [itemDetails] =>嗒嗒 [LOCATIONNAME ] =>輝煌,它按照預期拉動該地點。 [locationLink] =>等等 [categoryName] =>輝煌它按預期拉入類別。 [categoryLink] =>等等 )
[categoryName] => //these are missing for categoryParentID
[categoryLink] => //these are missing for categoryParentID
你可以發佈你的表結構嗎?看起來你只需要使用JOINS。 – sgeddes 2013-02-19 16:00:52