2011-02-17 80 views
1

我的標記系統使用兩個表格,tagscoupon_tags。它的工作方式是每個優惠券和每個標籤分配一個數值。因此,優惠券可以具有編號13,並且標籤可以具有編號5,例如。 coupon_tags使得每標籤優惠券的新行,所以它可能看起來像這樣:從兩個不同的表中獲取MySQL值到一個數組中?

couponID | tagID 
    5  3 
    5  1 
    5  9 
    6  1 

在我工作的代碼中,couponID是已知的,並表示爲變量$coupID我需要以下方面的幫助:所以我需要做的是找出所有的行,其中couponID是,並將所有這些tagID的數組,例如,$allTagIDs[],然後循環通過該數組並在每次迭代中將tagID與下一個名爲tags的表中的tagName相匹配(兩個表都有一個tagID字段,這是我如何匹配它們)。這些標籤也需要放入數組中。

然後輸出,我只是print_r($arrOfTagNames)。我只是不知道如何去做我在PHP中寫的東西。

回答

3

你實際上並不想這樣做。您希望編寫一個查詢,其中檢索與優惠券$coupID相關聯的標籤的名稱。

如果您曾經在循環中運行過查詢,那麼您可能會做出錯誤的事情,並且只要您有一些顯着的流量,就會通過超載服務器來重新咬你。

$sql = " 
    SELECT 
     tags.tagID, 
     tags.tagName 
    FROM 
     tags 
    INNER JOIN 
     coupon_tags 
    ON 
     coupon_tags.tagID = tags.tagID 
    WHERE 
     coupon_tags.couponID = $coupID 
"; 

$result = mysql_query($sql); 

$arrOfTagNames = array(); 
while ($row = mysql_fetch_array($result)) { 
    $arrOfTagNames[] = $row['tagName']; 
} 

print_r($arrOfTagNames); 
相關問題