例えば
table名 akb
id name team count
1 小嶋 A 0
2 島崎 A 0
3 高橋 A 0
4 横山 A 0
5 高城 K 0
6 松井 K 0
7 峯岸 K 0
8 武藤 K 0
9 柏木 B 0
10 渡辺 B 0
11 福岡 B 0
12 大島 B 0
上記テーブルから3行ランダムに選ぶのは
SELECT * FROM akb ORDER BY RAND() LIMIT 3;
でできると思うのですが、例えば更新ボタンを押して1回目のランダムな抽出でid=1,5,10が選ばれたとしてその時にid=1,5,10のcountを1増加させる、また更新ボタンを押して2回目のランダムな抽出でid=3,4,7が選ばれたらid=3,4,7のcountを1増加させる、以下繰り返し…のようなことをしたい場合どうしたらよいでしょうか?
データベースの接続はしているとして、
$sql="SELECT * FROM akb ORDER BY RAND() LIMIT 3";
$stmt=$pdo->query($sql);
while($row=$stmt->fetch()){
echo "<table>\n<tr>\n<td>".$row['id']."</td><td width='700'>".$row['name']."</td>\n</tr>\n</table>\n<br/>";
$sql="UPDATE akb SET count=count+1 WHERE id=$row[id]";
$stmt=$pdo->query($sql);
}
上記コードで試してみたのですが、なぜか1件表示されその1件分countが増加されるのですが、残りの2件は何も起こりません(表示されないしcountも増加されない)。どこが悪いでしょうか?
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。