-2

PHPを使用して質問回答フォームを実装する必要があります。オプション値がランダムになるように、オプション値とともに質問を選択する必要があります。

QuesttableからのSelectquest、option1、option2、option3など。リクエストごとにランダムな順序でoption1、option2、option3を取得するにはどうすればよいですか、どのような方法でもmysqlを使用して実装できます。?

4

4 に答える 4

1

使用できますRAND()

SELECT * FROM table_name ORDER BY RAND() LIMIT 5
于 2012-12-18T13:21:23.083 に答える
0

すでに述べたようにテーブルのデザインを変更する必要がありますが、この非常に大雑把なものを試すことができます (ただし、大雑把なデザインは大雑把なソリューションにつながります)

SELECT
  quest,
  CASE rval WHEN 0 THEN option1 WHEN 1 THEN option2 WHEN 2 THEN option3 END option_1,
  CASE rval WHEN 0 THEN option2 WHEN 1 THEN option3 WHEN 2 THEN option1 END option_2,
  CASE rval WHEN 0 THEN option3 WHEN 1 THEN option1 WHEN 2 THEN option2 END option_3
FROM (
SELECT
  *,
  FLOOR( RAND() * 3 ) rval
FROM tbl_answers ) tmp

そしてお願いします:「家でそんなことしないで!

于 2012-12-18T13:34:40.497 に答える
0

MySQL クエリを使用してこれを行うことはできませんが、php で出力をランダム化することはできます。オプションを空の配列に書き込み、配列をランダム化します。

MySQL でそれを行う場合は、2 つのテーブルを作成する必要があります。1 つは質問を含み、もう 1 つは回答を含み、行ごとに 1 つの回答が含まれます。

次に、次のことができます。

SELECT option FROM tbl_answers WHERE questionId = X ORDER BY RAND()
于 2012-12-18T13:24:14.310 に答える
0

いいえ。mysql だけではできません。

SELECT quest,option1,option2,option3PHP経由でアンドシャッフルを実行できます

于 2012-12-18T13:24:38.553 に答える