php - Mysqli 表用 thead 排序?

标签 php sorting mysqli

好的,当您单击标题的链接时,我已经成功实现了排序。但是如果我想将 asc 更改为 desc 我必须更改代码, 有没有什么方法可以使用 PHP 将表按降序排序(如果它显示为 asc)?

例如伪: 如果当前列是 asc 则排序 desc?

这是我当前的代码:

if (isset($_GET['sort'])) {
    $sorting = $_GET['sort'];
    $result = $mysqli->query("SELECT * FROM routes ORDER BY $sorting DESC");
}

这是我的链接结构:

路线ID

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

最佳答案

您可以在 session 中存储最后的排序类型。

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;
}

希望有帮助。

关于php - Mysqli 表用 thead 排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29790963/

相关文章:

php - 如何获取临时文件路径?

php - 如何根据另一个表中的内容使用sql语句选择某些行

javascript - 对嵌套数组进行排序的最佳方法(返回值与排序和 math.max)

java - 一个好的 Java 排序列表

php - 如何在 MySQL 中使用外键进行查询?

php - Oracle select,如何在PHP中访问 'where exists'子查询中的值?

PHP舍入错误与简单的乘法

Python 按元组中值的长度对列表进行排序

php - 谁能帮我解决这个问题吗?

php - mysqli fetch() 不获取