因為在做一個項目需要篩選掉一部分產品列表中的產品,使其在列表顯示時排在最后,但是所有產品都要按照更新時間排序。
研究了一下系統(tǒng)的數(shù)據庫結構后,決定將要排除到后面的產品加為粗體,這樣在數(shù)據庫中的“ifbold”就會被標記為1,而其他產品就默認標記為0,然后就打算使用MySQL在Order By時進行多字段排序。
Order by的多條件分割一般使用英文逗號分割,所以我測試的SQL如下:
代碼如下:
select * from {P}_product_con where $scl order by 'ifbold' asc,$myord desc limit $pagelimit"
但是運行后沒有將”ifbold“正序,但是單純正序”ifbold“卻正常,調試了N久,無意中在phpMyAdmin中運行卻發(fā)現(xiàn)正常,仔細比對后發(fā)現(xiàn)問題原來是來自于”ifblod“的引號上。改為下列語句就正常了:
代碼如下:
select * from {P}_product_con where $scl order by `ifbold` asc,$myord desc limit $pagelimit
所以以后大家再程序中寫SQL語句時也要注意引號的問題哦!
以上所述就是本文的全部內容了,希望大家能夠喜歡。
更多信息請查看IT技術專欄