2011-12-18 42 views
1

我有一個顯示名稱的完整列表,像這樣的查詢網頁:過濾網頁

First Name Last Name 
==================================== 
Aarn  Kreadon 
Aaron  Czetli 
Aaron  Balan 
Aaron  Franken 
Aaron  O'Neil 
Aaron  Barnair 
Abbey  Chua 
Abner  Marasigan 
...etc  ...etc 

我也有同樣的頁面上的選擇,看起來像這樣:

Browse by first name. 
A - B - C - D - E - F - G - H - I - J - K - L - M - N - O - P - Q - R - S - T - U - V - W - X - Y - Z 

Browse by last name. 
A - B - C - D - E - F - G - H - I - J - K - L - M - N - O - P - Q - R - S - T - U - V - W - X - Y - Z 

如何根據選擇的「名字」或「姓氏」過濾名稱列表?

我是否需要爲每個字母設置單獨的頁面?

這裏是PHP代碼:

<?php 
    $con = mysql_connect("localhost","user","pass"); 
    if (!$con) { 
    die('Could not connect to mysql server'); 
    } 

    mysql_select_db("thepoolscene", $con); 

    $result = mysql_query("SELECT * FROM tblPlayers"); 

    echo "<table border='1'> 
    <tr> 
    <th>First Name</th> 
    <th>Last Name</th> 

    </tr>"; 

    while($row = mysql_fetch_array($result)) { 
    echo "<tr>"; 
    echo "<td>" . $row['First_Name'] . "</td>"; 
    echo "<td>" . $row['Last_Name'] . "</td>"; 

    echo "</tr>"; 
    } 

    echo "</table>"; 

    mysql_close($con); 
?> 

回答

3

有幾個方法可以做到這一點。經典的方法是修改SQL語句來

SELECT * FROM tblPlayers where First_Name LIKE 'A%' 

上面的例子將得到所有玩家與第一個名字與一個

每個AZ鏈接開始將連接到相同的網頁,但與一個額外的$ _GET變量如http://url/file.php?fname=a

第二種方式和更現代的方式可能是使用上述相同的查詢,但在JSON中返回數組並使用AJAX獲取它。然後你可以用javascript中的數組完成所有的過濾。這很酷,因爲你不必刷新頁面,這幾乎是瞬間的。