0
我有下面的代码可以工作,但我知道它不是非常高效,我可以将它合并到一个SQL查询中。我应该打扰吗?如果是这样,怎么样?MySQL PHP:我怎样才能将这个嵌套的WHILE循环合并成一个查询?
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_User
表RndID
和UserID
去得到2个不同的表中的数据,然后把它全部重新走到一起的部分。
你能告诉我们桌子的设计吗? – KaeL 2013-05-10 03:25:52