2013-06-20 20 views
0

我有一個名爲「精選」欄目,這是數據庫表或者ynPHP:強制「精選」到頂部

我試圖強迫任何「精選」 ==「Y」,首先打印(它打印HTML通過foreach循環)。

現在它只是加載索引(ID)的順序。

我試着將ORDER BY Featured添加到我的SQL查詢的末尾,但它什麼也沒做。

我該如何做到這一點?

我通過一個通用函數使用它。我能做些什麼來檢查「精選」是否存在而不做2個查詢?

它打破了上表的SQL不包含「精選」

我設置了一個switch改變僅在需要的SQL ..但我寧願處理這SQL語句如果有人知道如何混合IF EXISTS英寸感謝您的幫助!

+4

'ORDER BY Featured ='y'DESC' should do it。如果不是,則顯示整個查詢。 – Wrikken

+0

數據類型是'varchar(1)' –

+0

像魅力一樣工作!答案和點是你的。謝謝! –

回答

4

而不是使用Y和N值,使用更像數字的方法,如1和0,這樣你可以使用數字排序。但如果你真的不想改變你的列值,那麼只需做

ORDER BY Featured DESC 

因爲這將使所有的Ys第一。 PS:未來,你會發現使用數字來布爾(1和0)更好,這將使你能夠在將來有第三和第四種場景的情況下添加小衆功能(所以你可以將它設置爲2和3等)。

+0

有沒有一種方法可以在'ORDER BY'之前使用'IF EXISTS'來檢查特色? –

+0

雖然我同意一個布爾型字段,但是,應該是一個布爾型,並且您提到它是正確的,參數_'將賦予您添加利基特性的能力__並不支持針對字符列的水,可以容納,任何你喜歡的字符? – Wrikken

+0

@Wrikken記住這裏的要點是,他需要按這個值排序,一旦你開始使用隨機字符來呈現不同的狀態,你就會直接從窗口中排序。 – TravisO