我希望通過單擊我的桌子的頭我的排序表,我已經想通了,如何做到這一點的位置:How to sort rows of HTML table that are called from MySQLPHP排序表排序逆轉
但是我想知道,是在那裏,通過再次點擊該按鈕,排序會反轉,並通過第三次點擊回到正常等等?
我希望通過單擊我的桌子的頭我的排序表,我已經想通了,如何做到這一點的位置:How to sort rows of HTML table that are called from MySQLPHP排序表排序逆轉
但是我想知道,是在那裏,通過再次點擊該按鈕,排序會反轉,並通過第三次點擊回到正常等等?
這是可以做到這樣的:
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變量,它將調整查詢的順序。也根據布爾值動態設置鏈接/提交。 – Josh