【发布时间】:2021-08-03 08:59:21
【问题描述】:
我在 php 中使用 mysql 和 Rest Api,我想根据条件使用“orderby”(如果“filterId”==3 或 4)。换句话说:
- 如果我通过 filterId='3' 那么查询应该像
SELECT ......ORDER by p.sp ASC/DESC - 如果我通过 filterId='4' 那么查询应该像
SELECT ......ORDER by m.merchantName ASC/DESC - 如果我同时传递两个参数,filterId='3' 和 filterId='4' 那么查询应该像
SELECT ......ORDER by m.merchantName,p.sp ASC/DESC - 如果未通过 filterId='3' 或 filterId='4' 则 orderby 不应用/追加
我该怎么做?这是我当前的代码:
if(isset($_GET["Filter"]))
{
$filter=trim($_GET['Filter']);
$data=json_decode($filter);
// echo "<pre>";print_R($data);
foreach($data as $dt)
{
foreach($dt as $d)
{
//echo $d->filter_id;
if($d->filter_id=="1")
{
}
if($d->filter_id=="3")
{
}
}
}
【问题讨论】:
-
如果我同时传递两个参数,filterId='3' and filterId='4' ???一个变量如何同时具有两个不同的值?
-
@Akina:我想如果我们传递两个参数,那么查询应该像“ORDER BY p.sp,m.merchantName ASC/DESC”
-
您的问题是不清楚。请展示
$data的不同样本,它们代表了您描述的所有场景。