これを行う最も簡単な方法は、同じページを指すリンクを列ヘッダーに配置することです。クエリ文字列に、クリックした内容がわかるように変数を入力し、SQLクエリでORDERBYを使用して順序付けを実行します。
HTMLは次のようになります:
<th><a href="mypage.php?sort=type">Type:</a></th>
<th><a href="mypage.php?sort=desc">Description:</a></th>
<th><a href="mypage.php?sort=recorded">Recorded Date:</a></th>
<th><a href="mypage.php?sort=added">Added Date:</a></th>
そして、phpコードで、次のようにします。
<?php
$sql = "SELECT * FROM MyTable";
if ($_GET['sort'] == 'type')
{
$sql .= " ORDER BY type";
}
elseif ($_GET['sort'] == 'desc')
{
$sql .= " ORDER BY Description";
}
elseif ($_GET['sort'] == 'recorded')
{
$sql .= " ORDER BY DateRecorded";
}
elseif($_GET['sort'] == 'added')
{
$sql .= " ORDER BY DateAdded";
}
$>
$ _GET値を直接取得して、クエリに追加しないように注意してください。一部のユーザーはMyPage.php?sort=;にアクセスできます。 MyTableから削除;