mysqlのスマートな書き方
MySQL5.1とPHP5を使っています。
phpからmysqlのtestテーブルにアクセスして点数順に生徒名一覧を作成したいと思っています。
イメージとしてはこのような感じです。○○○は名前になります。
90点以上
○○○
○○○
80点以上
○○○
○○○
○○○
70点以上
○○○
○○○
○○○
○○○
このような一覧を表示するため、下記のように作成したところ上記のような表示をしてくれました。
しかしながら、同じmysql_queryを何度も使っていますし、DBに負担が掛かりそうな気がします(本当に負荷があるのかは分かりませんが・・・)
もっとスマートな書き方はないものでしょうか。
よろしくお願い致します。
echo "90点以上";
$rs = mysql_query("select * from test where kamoku = '1' order by tensu desc LIMIT 0, 100;",$conn);
while($res = mysql_fetch_array($rs, MYSQL_ASSOC)){
if ($res['tensu'] >= 90){
echo $res['name'];
echo "<br>" ;
}
}
echo "80点以上~90点未満";
$rs = mysql_query("select * from test where kamoku = '1' order by tensu desc LIMIT 0, 100;",$conn);
while($res = mysql_fetch_array($rs, MYSQL_ASSOC)){
if($res['tensu'] >= 80 and $res['tensu'] < 90 ){
echo $res['name'];
echo "<br>" ;
}
}
echo "70点以上~80点未満";
$rs = mysql_query("select * from test where kamoku = '1' order by tensu desc LIMIT 0, 100;",$conn);
while($res = mysql_fetch_array($rs, MYSQL_ASSOC)){
if($res['tensu'] >= 70 and $res['tensu'] < 80 ){
echo $res['name'];
echo "<br>" ;
}
}
お礼
ありがとうごさいます。そうなんですか!持っている本は詳しく書いてなくって勘違いしてました。