1つのデータベースに2つのテーブルがあります。最初のテーブル制限を10でクエリしてから、結果をループします。そして、whileループ内で、最初のクエリのデータをパラメータとして使用して、別のクエリを再度実行しています。スクリプトの例を次に示します。
<?php
$con = mysql_connect(host,username,password);
mysql_select_db(game_server);
//My first query
$q1 = mysql_query('SELECT * FROM game_characters ORDER BY score DESC LIMIT 10');
while($character = mysql_fetch_object($q1)){
//My second query
$q2 = mysql_query('SELECT * FROM game_board WHERE id="'.$character->id.'"');
$player = mysql_fetch_object($q2);
}
?>
したがって、結果が100行の場合、2番目のクエリは100回実行されます。そして、私はそれが良くないことを知っています。どうすればそれを改善できますか。1つのクエリですべてを実行する方法はありますか?パラメータとして2番目のクエリからのデータが使用されるwhileループ内に別のクエリがある場合はどうなりますか?
PS:私はオンラインゲームのランキングシステムをやっています。