2011-07-22 45 views

回答

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> 

希望這有助於。

2

您可以通過發送url sort=ascsort=desc中的屬性來完成此操作。在php中:if($_GET['sort']='asc')排序必須是desc。其他排序必須是asc

www.example.com?sort=asc

0

最好的辦法是使用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問道。

2

好吧,如果你只想對錶進行排序,那麼你不必重新加載頁面(可能比較慢) - 有選擇做客戶端使用JavaScript,即SortTable by Stuart Langridge

1

考慮使用DataTables,它非常方便。