*実際の問題は投稿タイトルよりもかなり複雑です:S
私がテーブルを持っているとしましょう
ID | vote_id | vote_type | vote_user
1 ---- 2 ----- up ------- Tom
2 ---- 3 ----- up ------- John
3 ---- 3 ----- down ----- Harry
4 ---- 4 ----- up ------- Tom
5 ---- 2 ----- down ----- John
6 ---- 3 ----- down ----- Tom
だから私がやりたいのは
- 特定のvote_idでテーブルをクエリします
- 次に、1のクエリから投票した数と反対した数を数えます
- 次に、ジョンがそのvote_idに投票したかどうかも確認したいと思います。
そして、私のやり方はそうです。
$up=0;
$down=0;
$voted="no";
$r=mysql_query("SELECT*FROM table_name WHERE vote_id == 3");
while($row=mysql_fetch_array($r){
if($row["vote_type"]=="up"){ $up++;}else{$down++;}
if($row["vote_user"=="John"){ $voted="yes";}
}
しかし、WHILE LOOPを使用せずにこれを行う方法(同等のコード)はありますか?実際のテーブルは非常に大きくなる可能性があるため、whileループの実行は非常に網羅的である可能性があります:S
編集 単一のクエリで実行できますか?