質問に複数の選択肢があるクイズシステムがあります。
正しい答えと、さらに 4 つの間違った選択肢を示したいと思います。完全に私は 5 つの選択肢を持っている必要があります。
テーブルの選択肢
id | choice | questionid | correct
---+--------+------------+--------
1 | choice1| 1 | false
2 | choice2| 1 | false
3 | choice3| 1 | false
4 | choice4| 1 | false
5 | choice5| 1 | true
6 | choice6| 1 | false
7 | choice7| 1 | false
8 | choice8| 1 | false
テーブルが拡張される可能性があります...
ここで、4 つの間違った答えと正しい答えを選択して、質問の下にリストします。また、ユーザーごとに、質問の選択肢が異なるはずです。
この結果をテーブルに照会するにはどうすればよいですか? 2 つのクエリを作成して、以下のような配列にバインドしたくありません。
SELECT *
FROM `choices`
WHERE questionid = :qid AND correct = true
SELECT *
FROM `choices`
WHERE questionid = :qid AND
correct = false AND
id IN(
SELECT id
FROM `choices`
ORDER BY RAND()
LIMIT 4
)
代わりに、私が推測する1つのステップで実行する必要があります。