0

ブール値またはテストスコアが格納された被験者の配列を設定するにはどうすればよいですか?

被験者のすべてのテストで誰かが高得点を出した場合、金メダルを表示しようとしています.

この質問の枠組みをもっと明確にできたらいいのにと思いますが、説明に役立つコードを次に示します。

$resTestsQryStr = "SELECT TestID, Subject FROM Tests
                            WHERE " . $edstr . " AND " . $plstr . " AND " . $levelStr . " GROUP BY Subject";
$resTests = mysql_query($resTestsQryStr);

while ($rowT=mysql_fetch_array($resTests))
{
    $subject=$rowT['Subject'];    
    $tID=$rowT['TestID'];
    $resScore= mysql_query("SELECT Score FROM CompletedTests WHERE UserNum = '$userNum' AND TestID = '$tID'");
    $rowScore= mysql_fetch_array($resScore);      
        if ($rowScore['Score'] < 100){
            $medalWinArray[$subject]= false;
            break;
        }
        else    
            $medalWinArray[$subject]= true;
}
4

1 に答える 1

0

私はこれがそれを行うべきだと思います:

SELECT Subject, MIN(Score) >= 100 GoldMedal
FROM Tests t
JOIN Completed Tests c ON c.TestID = t.TestID
WHERE $edstr AND $plstr AND $level
AND c.userNum = '$userNum'
GROUP BY Subject
于 2013-07-27T00:07:29.067 に答える