我有两个 MySQL 表,$database1 和 $database2。两者都有一个名为 ID 的字段。我正在使用 GET 将城镇名称传递给文件(即它位于包含此代码的 PHP 文件的 URL 中)。
我可以运行这个查询...
$PlaceName = $_GET['townName'];
$PlaceName = mysql_real_escape_string($PlaceName);
$sql="SELECT * from $database1 LEFT JOIN $database2 on $database1.ID = $database2.ID WHERE PlaceName='$PlaceName'";
$query = mysql_query($sql);
echo '<h1>People who are searching for '.$PlaceName.':</h1>';
echo '<ul>';
while ($row = mysql_fetch_array($query)) {
echo "<li>ID #",$row['ID'],": ",$row['MemberPersonalName']," ",$row['MemberSurname']," -- searching for ",$row['SurnameBeingSearched'],"</li>";
}
echo '</ul>';
...它工作正常,一切都很好。现在输出看起来像这样......
正在寻找霍格沃茨的人:
- ID #137:赫敏格兰杰——寻找斯特恩
- ID #137:赫敏格兰杰——寻找英格伯格
- ID #503:哈利·波特——寻找克林德勒
- ID #549:罗恩·韦斯莱——寻找克林德勒
- ID #1062:德拉科·马尔福——寻找英格伯格
- ID #1155:金妮·韦斯莱——寻找克林德勒
- ID #1155:金妮·韦斯莱——寻找史翠珊
但是输出需要调整,而且我在编写 SQL 查询语句以反映更改时遇到了麻烦。我真正想要的是输出看起来像这样......
正在寻找霍格沃茨的人:
- Hermione Granger (id #137) 和 Draco Malfoy (id #1062) 正在搜索 Engelberg
- 哈利·波特 (id #503)、罗恩·韦斯莱 (id #549) 和金妮·韦斯莱 (id #1155) 正在搜查克林德勒
- 赫敏·格兰杰(ID #137)正在搜查斯特恩号
- 史翠珊正在被金妮·韦斯莱 (id #1155) 搜查
换句话说,我需要通过字段“SurnameBeingSearched”将输出分组在一起,我需要以“X、Y 和 Z”输出格式列出进行搜索的人的姓名(它知道在哪里添加逗号,如有必要,取决于结果的数量),我需要按“SurnameBeingSearched”字段对结果进行排序。
帮助?谢谢!