2015-04-01 42 views
-1

這個問題應該有一個簡單的解決方案,但我不能確定它是什麼。 基本上我有兩個MySQL表。第一個是products,爲了簡單起見,我們只是說它包含字段product_id。第二個表格被稱爲favorite_products,它包含字段product_idmember_id正確的MySQL查詢需要一個「保存到收藏夾」按鈕

再次爲簡單起見,可以說,我查詢產品表,並在我的while循環我附和了以下鏈接

<a href="#" data-Id="$product_id" class ="save" Id= "$button_status" >add to favorites<\a> 

當用戶點擊這個鏈接點擊功能插入特定的產品進入favorite_products表以及member_id

我的問題我將如何編寫一個查詢來檢查favorite_products表與產品表以查找匹配項?我想這樣做,以便我可以根據用戶是否已經收藏該產品來更改添加到收藏夾鏈接的外觀。

回答

0

如果我理解正確的...

當您選擇的產品列表中,您可以加入一個給定成員的最愛:

SELECT P.*, F.member_id IS NOT NULL AS is_favorite 
FROM products AS P 
LEFT JOIN favorite_products AS F 
    ON (F.product_id = P.product_id AND F.member_id = #member_id#) 

只是不要忘記與實際數量,以取代#member_id#;)

假設您在products表中有product_idproduct_name字段。結果會是這樣的(簡化的JSON風格):

[ 
    {product_id: 15, product_name: "Product A", is_favorite: 0}, 
    {product_id: 16, product_name: "Product B", is_favorite: 1}, 
] 
+0

btw,MySQL剛剛完美手冊,看看http://dev.mysql.com/doc/refman/5.0/en/join html的 – 2015-04-01 06:08:30