switch ($sort) {
case 'abc':
$order_by = 'subject ASC';
break;
case 'fn':
$order_by = 'u.username ASC';
break;
case 'rd':
$order_by = 'p.posted_on DESC';
break;
default:
$order_by = 'p.posted_on DESC';
$sort = 'rd';
break;
}
我想略微修改这段代码我不太确定如何做到这一点。我很确定我可以用if if else if if,但我假设改变这个开关会非常简单,但是我再也不确定了。
无论如何这是我想要做的,让我们把'case'abc':例如
我想要
case 'abc':
$order_by = 'subject DESC';
break;
如果
case 'abc':
$order_by = 'subject ASC';
break;
这样,当您对记录进行排序时,如果排序已经在使用ASC,它将切换到DESC,此时我的排序按钮只能单向工作。
TY
答案 0 :(得分:3)
我会设置一个切换变量:
$abcToggle = false;
//...
case 'abc':
if($abcToggle) {
// do something...
abcToggle = false;
}
else {
// do something else...
$abcToggle = true;
}
break;
或者,也许是一种更简洁的方式:
$abcToggle = false;
//...
case 'abc':
$abcToggle ? $orderBy = 'DESC' : $orderBy = 'ASC';
$abcToggle ? $abcToggle = false : $abcToggle = true;
break;
答案 1 :(得分:3)
switch ($sort) {
case 'abc':
$order_by = 'subject ASC';
$sort = 'cba'
break;
case 'cba':
$order_by = 'subject DESC';
$sort = 'abc'
break;
case 'fn':
$order_by = 'u.username ASC';
break;
case 'rd':
$order_by = 'p.posted_on DESC';
break;
default:
$order_by = 'p.posted_on DESC';
$sort = 'rd';
break;
}