2011-07-13 46 views
-3

使用PHP和MySQL,我想在我的數據庫中回顯產品表中的產品列表。我也只想迴應產品下面每個產品的最近三次評論。有沒有一種方法,我可以做到這一點,而不是把一個SQL查詢內循環。我想在腳本中不超過2個sql查詢PHP複雜的SQL查詢

+0

這通常是用一個循環完成 - 它可能包含多個表。如果您向我們提供更多信息,那麼我們可以幫助您減少在腳本 –

+1

中的查詢,這可能不值得構建一個瘋狂複雜的查詢(這將花費更長的時間並耗盡更多資源)。就像您迄今爲止編寫的代碼或數據庫模式一樣? –

+0

你可以使用MySQL查詢變量來實現,但是我需要更多的表格來查看關係和你想要的內容的基礎。 – DRapp

回答

1

那麼你總是可以使用mysql_fetch_array來獲取所有的查詢信息,然後將其傳遞到一個循環中,以便吐出你所需要的信息。類似的過程可以用評論來完成,但如果你表現出了相同的頁面的產品名單上的評論,那麼你可以使用JOIN查詢然後結合兩個查詢您只使用1

mysql_fetch_array()

MySQL JOIN

3

只是一個猜測,因爲沒有太多的信息繼續下去。

SELECT 
    product.stuff, 
    review.stuff 
FROM   
    product 
INNER JOIN 
    review ON review.dates = (SELECT review.stuff 
          FROM review 
          WHERE product.id = review.product_id 
          ORDER BY review.date ASC 
          LIMIT 3)