我需要查询location = $location
的数据库。这将返回一些user_id
。
然后我需要查询另一个数据库user_id
=之前的user_id
结果。这将找到game_id
s。
然后,我需要使用game_id
查询另一个表来获取每个游戏的名称(每个游戏名称都分配了一个ID。)
这就是我所拥有的:
if (isset($_POST['location'])) {
$location = $_POST['location'];
$query = mysql_query("SELECT * FROM users WHERE location = '$location'") or die(mysql_error());
echo "<ul>";
while ($row = mysql_fetch_array($query)) {
foreach (explode(", ", $row['user_id']) as $users) {
echo "<li>" . $row['user_name'] . "<ul><li>";
//this where I need I need to query another table where user_Id = $user (each user found in previous query)
//this will find multiple game id's (as $game) , I then need to query another table to find game_id = $game
// output name of game
echo "</li></ul></li>";
}
}
echo "</ul>";
}
听起来很复杂。有更简单的方法吗?
答案 0 :(得分:0)
这样的查询将生成location, user_id, game_id
表。在SQL查询中投入尽可能多的精力,以便您能够通过代码轻松处理它:
$query = mysql_query("SELECT game_name FROM another_table \
JOIN users \
JOIN games \
WHERE users.location = '$location'")
or die(mysql_error());
while ($row = mysql_fetch_array($query)) {
echo $row['game_name']; //Here is the game name
}