2011-05-17 75 views
-3

喜請看這裏hereSQL statemement選擇圖像

,你也會看到「的KK +照片流(44986)」 5張其他照片縮略圖。並且當前照片被選擇爲黑色邊框。

我的網站具有類似的功能,可顯示來自同一用戶的照片和5張其他照片。我怎樣才能得到這5個其他照片使用SQL語句當前照片在中間?

我以爲是得到當前照片的行號。之後,執行另一個使用限制的sql查詢來查找當前照片正面和背面的其他4張照片。但我如何獲得選定行的行號?

例如

我們有這些照片:A,B,C,d,E,F,G,H,I,J

如果當前照片是C,則其他5來自同一用戶的照片將成爲照片A,B,C,D,E。

如果當前照片是F,然後從同一用戶的其它5張將是照片d,E,˚F,G,H

注意,當前的照片總是在的中間其他5張照片。 還是有另一種解決方案?

+0

你的問題不清楚。你能重申你想要做的事嗎? – 2011-05-17 04:17:02

+0

對不起,我編輯了我的問題.. – nuttynibbles 2011-05-17 04:24:48

+0

基本上我想實現的是從同一個用戶獲得5張其他照片。這意味着其他5張照片依賴於當前照片。 – nuttynibbles 2011-05-17 04:31:18

回答

0

如果當前照片有說photo_id數字ID,您可以使用下面的SQL來檢索相關照片:

SELECT * 
FROM photo_table 
WHERE photo_table.id > (photo_id-2) 
    AND photo_table.id < (photo_id+2) 

如果你不感興趣的檢索當前的照片,只需添加一個條件排除它,即

AND photo_table.id <> photo_id 

問題是 - 如何檢索所選照片的​​ID?如果你有例如有問題的照片的文件名,你可以沿着以下幾行查詢:

SELECT * 
FROM photo_table input_photo 
WHERE input_photo.filename = {some_parameter} 
LEFT JOIN photo_table other_photos ON 
      other_photos.id > (input_photo.id-2) AND 
      other_photos.id < (input_photo.id+2) 

希望有一點幫助。