将其与函数一起使用的PHP开关
我有这个开关,我根据开关的动作选择做某些事情。根据我的测试,当页面运行时,开关中的功能甚至没有发生 我对现在能够运行sortby操作感兴趣。当我转到页面时,switch将我置于第一种情况下,但不运行该功能。为什么?我怎么修理它将其与函数一起使用的PHP开关,php,function,switch-statement,Php,Function,Switch Statement,我有这个开关,我根据开关的动作选择做某些事情。根据我的测试,当页面运行时,开关中的功能甚至没有发生 我对现在能够运行sortby操作感兴趣。当我转到页面时,switch将我置于第一种情况下,但不运行该功能。为什么?我怎么修理它 switch ($_GET['action']) { case 'sortby': sort_by($_GET['sortby']); break; case 'add':
switch ($_GET['action']) {
case 'sortby':
sort_by($_GET['sortby']);
break;
case 'add':
resident_add($_GET['residentID']);
include('inc/modify/add.php');
break;
case 'edit':
resident_edit($_GET['residentID']);
include('inc/modify/edit.php');
break;
case 'delete':
resident_delete($_GET['residentID']);
include('inc/modify/delete.php');
break;
case 'search':
echo "";
break;
default:
resident_default($_GET['sortby']);
}
function sort_by($sortby) {
if ($sortby == "last_name") {
$sort_db_field = "Last Name";
$sort_order = "ASC";
} elseif ($sortby == "lot") {
$sort_db_field = "Lot";
$sort_order = "ASC";
} elseif ($sortby == "date_added") {
$sort_db_field = "No";
$sort_order = "DESC";
} else {
include('inc/error.php?error_code=100');
}
return $sort_db_field;
return $sort_order;
}
$data = mysqli_query($dbcon, "SELECT * FROM `residents` ORDER BY `residents`.`".$sort_db_field."` ".$sort_order."") or die(mysqli_error());
一个函数中不能有2条返回语句,第二条语句永远不会执行 在切换之前声明两个变量:
$sort_db_field = "";
$sort_order = "";
switch ($_GET['action']) {
/*snip*/
}
然后在函数中删除返回值。此函数现在将设置您声明的两个变量中的值 你确定它没有运行该函数吗?您没有从排序依据返回/打印,因此您怎么知道?@rainfromheaven在这种情况下,我应该以排序依据返回什么?我忘了大部分时间我都用函数了@amal$data=mysqli_query($dbcon,“从
residents
ORDER BYresidents
“$sort_db_field.”)或死(mysqli_error());我添加了这个仍然不工作的返回$sort\u db\u字段;返回$sort_订单;您的mysqli\u error()
中应该有链接:mysqli\u error($dbcon)代码>两个在单个函数中返回
s???这太疯狂了,如果您使用global
或通过引用传递这些变量,那么第二个变量将永远不会运行。