php - 过滤网页

标签 php mysql filter html

我有一个网页显示完整的姓名列表查询,如下所示:

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

最佳答案

有几种方法可以做到这一点。经典的方法是将 SQL 语句修改为

SELECT * FROM tblPlayers where First_Name LIKE 'A%'

上面的例子会得到名字以 A 开头的所有玩家

每个 A-Z 链接都将链接到同一页面,但会添加一个 $_GET 变量,例如 http://url/file.php?fname=a

第二种方式和更“现代”的方式可能是使用上面相同的查询,但以 JSON 格式返回数组并使用 AJAX 获取它。然后你可以在 javascript 中使用数组进行所有过滤。这很酷,因为您无需刷新页面,而且几乎是即时的。

关于php - 过滤网页,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8549196/

相关文章:

php - 比较单独表中的 2 列移动和仅移动非重复项

php - 访问控制允许来源语法

php - MYSQL 8.0 - 不支持的重做日志格式

MySQL - 根据用户限制大型查询

php - Laravel Migration 停止并且不执行任何操作

javascript - 在 React Native 中使用 JavaScript 过滤数组中的对象

mysql - 如何使用 GraphQL 查询 JSON pram 字符串

php - mysqli_fetch_assoc()需要参数/调用成员函数bind_param()错误。如何获取并修复实际的mysql错误?

mysql - 哪种方式是授予对远程数据库服务器读取访问权限的最佳方式?

javascript - 带有输入字段的实时搜索表