http://example.com/bills.php?sort=highest
http://example.com/bills.php?sort=alpha
http://example.com/bills.php?sort=lowest
したがって、上記の URL は、最高、アルファベット順、最低の順に並べ替えられます。フォームを使用して $_GET メソッドを使用します。URLを変更せずにフォームを送信/ $_GET データを取得する方法があるかどうか疑問に思っていましたか?
<form action="bills.php" method="get">
<select onchange="this.form.submit();" name="sort" class="right sort">
<option>What would you like to sort by?</option>
<option value="highest" <?php if(isset($_GET['sort']) && $_GET['sort'] == 'highest'){?> selected="selected" <?php } ?>>Highest to Lowest</option>
<option value="lowest" <?php if(isset($_GET['sort'])&& $_GET['sort'] == 'lowest'){?> selected="selected" <?php } ?>>Lowest to Highest</option>
<option value="alpha" <?php if(isset($_GET['sort'])&& $_GET['sort'] == 'alpha'){?> selected="selected" <?php } ?>>Alphabetically</option>
</select>
</form>
上記は、新しい並べ替えリクエストを送信できるコードです。
URL をそのままにしておきたいのexample.com/bills.php
ですが、それは可能でしょうか?
.htaccess を使用して URL を書き換えることは可能でしょうか? にアクセスできるようにする URL 書き換え方法を試してみましたhttp://example.com/bills/alpha
が、正常に動作しますが、新しいクエリを選択すると、http://example.com/bills/bills/?sort=alpha
.
これが私の.htaccessです
RewriteEngine On
RewriteBase /
RewriteRule ^bills/(.*)$ /bills.php?id=$1