我正在動態創建基於搜索的搜索查詢,我需要使用des | asc追加查詢。根據條件(desc或asc)在MySQL查詢後添加逗號
例如,如果用戶單擊bydate,我將追加order by bydate desc
,如果用戶想要搜索公司名稱,我會追加order by companyname asc
。這是在條件下完成的。
例如,如果查詢是
select * from market
,如果按日期查詢用戶搜索變得
select * from market order by bydate desc
,如果通過公司名稱查詢的用戶搜索變得
現在,如果前面的查詢包含asc
或desc
我需要插入逗號,所以查詢變成
select * from market order by bydate desc, companyname
如果我不檢查,並插入逗號查詢變得
select * from market order by bydate desc companyname -- without comma
因此,基於條件
$query = 'select * from market order by bydate desc';
if( ($despos = false) && ( (strripos($query, 'desc') !=== false && ($despos = strripos($query, 'desc'))) || (strripos($query, 'asc') !=== false && ($despos = strripos($query, 'asc')) ) ) && $despost !===false && $despos >(strlen($query)-7) ) $query.=", ";
插入逗號但查詢顯示以下錯誤:
(!) Parse error: syntax error, unexpected '=' in E:\wamp\www\sugumar\php\1.php on line 5
在數組中添加您的所有訂單,然後使用$ query = $ query.implode(「,」,$ orderBy); – shantanu
也許它應該是'=='在條件而不是分配'='到$ despos var –
也認爲如果陳述是不正確的,它甚至告訴你問題是'='你不能有' ='帶條件'&&'和'||' ''='或'==' – Gert