gpt4 book ai didi

php - 重新加载 PHP 后如何保留按列排序 asc/desc

转载 作者:行者123 更新时间:2023-11-29 12:01:52 25 4
gpt4 key购买 nike

我有不同 View 的页面(列表、文件夹和缩略图 View ),每个 View 都有其排序按钮,您可以按升序和降序(a-z、z-a、旧新、新旧)对其进行排序。

由于默认排序是 a-z,

我想要做的是,一旦我单击 ListView 中的 z-a 排序按钮,然后更改为其他 View (文件夹 View ),文件夹 View 中的排序模式也与上次单击排序模式 z-a 相同。

但发生在我的代码上的是每次我重新加载或更改页面时排序模式始终处于默认状态。

if($sort == 'asc'){
$sql = "SELECT * FROM tbl_files LEFT OUTER JOIN tbl_album_files ON tbl_files.file_id = tbl_album_files.file_id
WHERE media_type = 'video' ORDER BY file_name";
} else if ($sort == 'desc') {
$sql = "SELECT * FROM tbl_files LEFT OUTER JOIN tbl_album_files ON tbl_files.file_id = tbl_album_files.file_id
WHERE media_type = 'video' ORDER BY file_name DESC";
} else if ($sort == 'old') {
$sql = "SELECT * FROM tbl_files LEFT OUTER JOIN tbl_album_files ON tbl_files.file_id = tbl_album_files.file_id
WHERE media_type = 'video' ORDER BY DATE(ctime_datetime) asc, ctime_datetime asc ";
} else if ($sort == 'new') {
$sql = "SELECT * FROM tbl_files LEFT OUTER JOIN tbl_album_files ON tbl_files.file_id = tbl_album_files.file_id
WHERE media_type = 'video' ORDER BY DATE(ctime_datetime) desc, ctime_datetime desc ";
}

我的代码可以很好地排序,但我想要的是每次我重新加载页面或转到其他页面时,排序将保持与我在重新加载之前单击的相同。 任何想法? TIA。

最佳答案

您可以将“排序”参数附加到您的网址,该参数将保存排序依据属性。

看看 stackoverflow 如何构建其 URL

http://stackoverflow.com/questions/tagged/php?sort=newest&pageSize=15

Stackoverflow 提供了按最新、精选、投票、活跃、未答复排序的选项; URL 参数会随着每次选择而变化。

http://stackoverflow.com/questions/tagged/php?sort=featured&pageSize=15
http://stackoverflow.com/questions/tagged/php?sort=frequent&pageSize=15

使用此参数对结果进行排序。在后端,您可以通过执行 $_GET

轻松访问此属性
$_GET['sort']

默认情况下,如果您想保持升序排序,请对此参数进行 isset 检查,如果不存在,则按升序对结果进行排序。

if(isset($_GET['sort']) {
.....
}

关于php - 重新加载 PHP 后如何保留按列排序 asc/desc,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32241395/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com