次のような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>
並べ替え後に発生する明らかな問題は$_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ソート後。
この問題の解決策は何ですか?私はここで基本的な何かを見逃していて、問題を完全に複雑にしていますか?