0

そこで、ユーザーに異なるアイテムを提供する約10個のmysql関数のうち、ユーザーがページをクリックするたびに、それらの関数の1つがランダムに実行されるスクリプトを作成したいと思います。これは私が必要とする一種のrpg関数であり、ユーザーの狩猟のレベルによっては、より成功しますが、常に食べ物を得るとは限りません。したがって、ページをクリックすると、アイテムの配列から1つがランダムに返され、そのアイテムがmysql_queryを介して渡されます。

私はそれが理にかなっていることを願っています、そうでなければ、私に知らせてください...

これまでのところ、私はこれらの出発点を持っています

$input = array("value 1", "value 2", "value 3", "value 4", "value 5");
 $rand_keys = array_rand($input, 1);
 echo $input[$rand_keys[0]] . "\n";

ただし、これで配列内のmysqlクエリが許可されるかどうかはわかりません。私もリダイレクトを使用することを考えましたが、私が試したものはリダイレクトを続けましたが、それは私が望んでいたものではなく、URLを改ざんして良い結果を得ることができます...

とにかく、私はそれが理にかなっていて、どんな助けでも大いに感謝されることを願っています:)

4

1 に答える 1

1

アイテムとその値を含むテーブルを作成することで、この課題に取り組みます。列の 1 つが になりますprio_drop。特定のアイテムをより頻繁にドロップしたい場合は、2他のアイテムに価値がある間に、そのアイテムに価値を持たせることができます1。値が大きいほど、チャンスが大きくなります。

次に、次のことを行います。

$arr_items = array(1, 2, 3, 5); /* This event can drop items with these ids */
$str_items = implode(', ', $arr_items);

mysql_query("
SELECT id, name
FROM items
WHERE id IN ({$str_items})
ORDER BY (RAND() * prio_drop) DESC
LIMIT 1
");

私があなたを正しく理解したと思いますか?

于 2012-04-13T12:22:28.847 に答える