我正在动态创建基于搜索的搜索查询,我需要使用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