-1

質問、正解/オプションを取得するデータベースがあります...質問をシャッフルできるように、アプリケーションでランダムなrowIdを自動的に生成したい..もちろん、すでに表示されている質問は再び表示されません。10問出してからfinish();..

4

2 に答える 2

0

最初にランダムIDを生成する必要はありません。行を挿入するだけで、列があることを確認してくださいquestionId

データベースを読みたいとき。次のようなことをしてくださいquizid = rand()...。

その後、データベースでクイズのある行を選択します

SELECT * FROM quiztable WHERE questionId = quizid 

そのようなものはあなたのデータベースからあなたにランダムな行を与えるでしょう。

私はあなたがポイントを得ると思います。

于 2012-09-07T02:34:46.513 に答える
0

ランダムなrowIdを使用するのは間違ったアプローチです。データベースが変更され、IDが無効になった場合はどうなりますか?すべてのIDを確認し、無効なIDが発生したときに再生成する必要があります。

代わりに、SELECTステートメントでLIMIT句を使用し、テーブルの行数よりも少ない乱数を使用する必要があります。

于 2012-09-07T02:46:13.810 に答える