Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/264.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Mysqli表排序和thead?_Php_Sorting_Mysqli - Fatal编程技术网

Php Mysqli表排序和thead?

Php Mysqli表排序和thead?,php,sorting,mysqli,Php,Sorting,Mysqli,好的,当你点击thead的链接时,我已经实现了排序。但是如果我想把asc改成desc,我必须改变代码, 如果表显示为asc,有没有办法使用PHP将其按降序排序 例如伪: 如果当前列为asc,则排序描述 这是我目前的代码: if (isset($_GET['sort'])) { $sorting = $_GET['sort']; $result = $mysqli->query("SELECT * FROM routes ORDER BY $sorting DESC"); }

好的,当你点击thead的链接时,我已经实现了排序。但是如果我想把asc改成desc,我必须改变代码, 如果表显示为asc,有没有办法使用PHP将其按降序排序

例如伪: 如果当前列为asc,则排序描述

这是我目前的代码:

if (isset($_GET['sort'])) {
    $sorting = $_GET['sort'];
    $result = $mysqli->query("SELECT * FROM routes ORDER BY $sorting DESC");
}
这是我的链接结构:

路由ID


要确认用户何时单击链接,它将进行排序,如果他们再次单击同一链接,它将以相反的方式进行排序。

您可以反转数组,因此如果他们首先排序,asc将变为desc:

array array_reverse ( array $array [, bool $preserve_keys = false ] )
为了实现这一目标:

if (isset($_GET['sort'])) {
    $sorting = $_GET['sort'];
    $result = $mysqli->query("SELECT * FROM routes ORDER BY $sorting DESC"); }
1.-将mysql结果资源转换为数组:

$routes = array();
while ($row = mysql_fetch_array($result)) {
    $routes[] = $row;
}
2.-反转生成的数组

  $routes_asc = array_reverse($routes); 

您可以在会话中存储最后一种排序类型

if (isset($_GET['sort'])) {
    $sorting = $_GET['sort'];

    // check the last sort type used
    $sort = ($_SESSION['last_sort_type'] == 'DESC') ? 'ASC' : 'DESC';

    $result = $mysqli->query("SELECT * FROM routes ORDER BY $sorting $sort");

    // store it in session.
    $_SESSION['last_sort_type'] = $sort;
}

希望有帮助。

Im new php kindy请解释如何实现这样的数组?如果我使用会话,我需要在某处定义会话吗?因为当我测试它时,它说未定义的session你必须在脚本开始时这样做-
if(session_id()=''){session_start();}