$database1 と $database2 という 2 つの MySQL テーブルがあります。どちらにも 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 クエリ ステートメントを作成するのに問題があります。私が本当に欲しいのは、出力がこのようになることです...
ホグワーツを探している人:
- エンゲルバーグは、ハーマイオニー・グレンジャー (id #137) とドラコ・マルフォイ (id #1062) によって捜索されています。
- クラインドラーは、ハリー・ポッター (id #503)、ロン・ウィーズリー (id #549)、ジニー・ウィーズリー (id #1155) によって検索されています。
- 船尾はハーマイオニー・グレンジャー (id #137) によって捜索されています
- ストライサンドはジニー・ウィーズリー (id #1155) によって捜索されています。
つまり、「SurnameBeingSearched」フィールドで出力をグループ化する必要があり、検索を行っている人の名前を「X、Y、および Z」出力形式でリストする必要があります (追加する場所がわかっている場合)。結果の数に応じて、必要に応じてカンマを使用します)。「SurnameBeingSearched」フィールドで結果を並べ替える必要があります。
ヘルプ?ありがとう!