MySQL PHP:如何将这个嵌套的WHILE循环组合到一个查询中?
我有下面的代码可以运行,但我知道这不是很有效,我可能可以将其整合到一个SQL查询中。我需要麻烦吗?如果是,怎么做MySQL PHP:如何将这个嵌套的WHILE循环组合到一个查询中?,php,mysql,Php,Mysql,我有下面的代码可以运行,但我知道这不是很有效,我可能可以将其整合到一个SQL查询中。我需要麻烦吗?如果是,怎么做 function get_rnds_by_judge($judge_id) { global $connection; $sql = "SELECT * FROM Round_User LEFT JOIN Round ON Round_User.RndID = Round.RndID WHERE Round_User.U
function get_rnds_by_judge($judge_id) {
global $connection;
$sql = "SELECT *
FROM Round_User
LEFT JOIN Round
ON Round_User.RndID = Round.RndID
WHERE Round_User.UserID = '$judge_id'
";
$rnd_set = mysql_query($sql, $connection);
confirm_query($rnd_set);
return $rnd_set;
}
function get_users_by_round_and_role($round_id, $role_id) {
global $connection;
$sql = "SELECT *
FROM User
LEFT JOIN Round_User
ON User.UserID = Round_User.UserID
WHERE Round_User.RndID = '$round_id' and User.UserRoleID = '$role_id'
";
$rnd_set = mysql_query($sql, $connection);
confirm_query($rnd_set);
return $rnd_set;
}
$rnd_set = get_rnds_by_judge($_SESSION[UserID]);
while($rnd_row = mysql_fetch_array($rnd_set)){
echo "<li data-role=\"list-divider\">";
echo $rnd_row[RndTitle];
echo "</li>";
$rs_set = get_users_by_round_and_role($rnd_row[RndID], 7);
while($rs_row = mysql_fetch_array($rs_set)){
echo "<li>";
echo "<a href=\"#\">{$rs_row[UserFirstName]}</a>";
echo "</li>";
}
}
我遇到的问题是,如何从加入的Round_用户表中获取RndID和UserID,然后从两个不同的表中获取数据,然后将它们重新组合在一起。如果不查看表结构和示例数据,很难判断,但您可能正在寻找类似的内容 选择美国* 从用户u左连接 在u.UserID=ru.UserID上舍入用户ru 鲁恩在哪里 选择ru2.RndId 来自Round_用户ru2左连接 ru2.RndID上的r轮=r.RndID 其中ru2.UserID='$judget_id' u.UserRoleID=7
查询显然还没有经过测试。你能给我们看看表的设计吗?@Chaz有帮助吗?你的问题需要更多的帮助吗?