を逆に、私はすでにここにいることを行う方法を考え出した:How to sort rows of HTML table that are called from MySQLPHPのソートテーブルが並べ替え私は私のテーブルのヘッダをクリックすることで、私のテーブルをソートしたい
私は疑問に思ってしかし、ありますそのボタンでもう一度クリックすると、ソートは逆になり、3回目をクリックすると通常に戻ります。
を逆に、私はすでにここにいることを行う方法を考え出した:How to sort rows of HTML table that are called from MySQLPHPのソートテーブルが並べ替え私は私のテーブルのヘッダをクリックすることで、私のテーブルをソートしたい
私は疑問に思ってしかし、ありますそのボタンでもう一度クリックすると、ソートは逆になり、3回目をクリックすると通常に戻ります。
これは次のように行うことができます。
switch($_GET['dir']){
case "asc":
$orderBy = " ORDER BY colName ASC"
break;
case "desc":
$orderBy = " ORDER BY colName DESC"
break;
default:
$orderBy = " ORDER BY colName ASC"
break;
}
$sql = "SELECT FieldNames from MyTable" . $orderBy;
次に、あなただけのdir
アイテムを毎回変更するクエリ文字列とのリンクを提供しています。だからあなたのリンクはなる:
<a href="myFile.php?dir=asc">Order ascending</a>
または
<a href="myFile.php?dir=desc">Order descending</a>
この情報がお役に立てば幸いです。
URLに属性を送信すると、sort=asc
、sort=desc
とすることができます。そして、PHPでif($_GET['sort']='asc')
ソートはdesc
でなければなりません。他の並べ替えはasc
である必要があります。
www.example.com?sort=asc
最良の方法は、JSのリンクを使用してヘッダーにアンカーを変更することです:
if(/* current sorting is asc */) {
document.write("<p>Type".link("mypage.php?sort=desc") + "</p>");
}else if(/* current sorting is desc */) {
document.write("<p>Type".link("mypage.php?sort=normal") + "</p>");
}else if(/* current sorting is normal */){
document.write("<p>Type".link("mypage.php?sort=asc") + "</p>");
PHPコードは、前の質問あなたと同じままになりますあなたはSOに尋ねました。
さて、あなただけのテーブルをソートする場合、あなたは(比較的遅いかもしれません)ページをリロードする必要はありません - それをJavaScriptを使用してクライアント側を行うためのオプションがあり、すなわちSortTable by Stuart Langridge
検討しDataTablesを使用すると、非常に便利です。降順 -
正確に何をしたい
クエリの順序を調整するブール値のGET/POST変数を設定します。ブール値に応じてlink/submitを動的に設定します。 – Josh