Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/60.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MySQL PHP:如何将这个嵌套的WHILE循环组合到一个查询中?_Php_Mysql - Fatal编程技术网

MySQL PHP:如何将这个嵌套的WHILE循环组合到一个查询中?

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

我有下面的代码可以运行,但我知道这不是很有效,我可能可以将其整合到一个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.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有帮助吗?你的问题需要更多的帮助吗?