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