Фильтровать веб-страницу - PullRequest
1 голос
/ 18 декабря 2011

У меня есть веб-страница, которая отображает запрос полного списка имен, таких как:

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);
?>

1 Ответ

3 голосов
/ 18 декабря 2011

Есть несколько способов сделать это. Классическим способом было бы изменить выражение SQL на

SELECT * FROM tblPlayers where First_Name LIKE 'A%'

Приведенный выше пример получит всех игроков с именами, начинающимися с A

Каждая ссылка A-Z будет ссылаться на ту же страницу, но с добавленной переменной $ _GET, такой как http://url/file.php?fname=a

Второй и более «современный» способ, вероятно, состоит в том, чтобы использовать тот же запрос, что и выше, но вернуть массив в JSON и извлечь его с помощью AJAX. Затем вы можете выполнить всю свою фильтрацию с помощью массива в javascript. Что здорово, потому что вам не нужно обновлять страницу, и это почти мгновенно.

...