我有一个由 GET 请求触发的搜索功能,它看起来像:http://localhost:8888/TESTCI/search/get_books?i-slider=7.0&rt-slider=70&start-year=1955&end-year=2013&genre=all&language=all
没关系,搜索功能按预期工作。当我想根据年份、流派、语言等对结果进行排序时,就会出现问题。我在结果页面上有许多链接,我试图用它们来排序。鉴于我在页面上没有表单来重新提交值,我的想法是使链接等于当前 URL 加上 GET 参数进行排序。年份排序的一个例子是:
$year_sort_class = "ui-btn-active ui-state-persist sort-desc";
$year_sort_order = "&sort-by=year-asc";
<li class="<?php echo $year_sort_class ?>"><a href="<?php echo $_SERVER['REQUEST_URI'].$year_sort_order ?>">Year</a></li>
排序后出现的明显问题是 now$_SERVER['REQUEST_URI']
等于我的原始 URL 加上&sort-by=year-asc
. 这意味着任何进一步的排序,无论是按流派、语言还是年份,都将连续附加到 URL 中,导致 URL 看起来像
http://localhost:8888/TESTCI/search/get_books?i-slider=7.0&rt-slider=70&start-year=1955&end-year=2013&genre=all&language=all&sort-by=rt-desc&sort-by=i-desc&sort-by=year-desc&sort-by=i-desc
经过4种。
这个问题的解决方案是什么?我是否在这里遗漏了一些基本的东西并使问题完全复杂化?