0

PHPを使用してデータセットをプルし、ランダムに並べ替える必要があります。それが引っ張られるたびに、私は異なるランダムな順序が必要です。

データがプルされたら、ajax/jqueryを使用して一度に12個の結果をプルします。したがって、ページネーションに基づいて一度に12レコードのみを取得し、同じ結果セットで作業を続ける必要があります。

mysqli / phpでこれを行う方法を誰かに説明してもらえますか?store_resultとおそらくdata_seekを使用していると思います。しかし、私はこれについてある程度の経験を持つ誰かが私を正しい方向に向けることができることを望んでいました。

私の現在のクエリ..。

SELECT * FROM mytable WHERE status='active' limit 0,12
4

2 に答える 2

2

MD5機能を使って一度やりました。phpを使用してランダムシード(ソルト)を生成し、それをすべてのIDに追加します。例:

SELECT * FROM mytable WHERE status='active' ORDER BY MD5(CONCAT(id, :salt)) DESC LIMIT 0,12

(たとえば、:saltを「aE41n」に置き換えます)

次に、各ユーザーのセッションにソルトを保存するだけです。

それがパフォーマンスを考えると最良の解決策であるかどうかはわかりませんが、それが役立つことを願っています。

于 2013-02-07T22:28:14.313 に答える
0

だから私は同じ結果セットで作業を続ける必要があります

それは間違った仮定です。次のページを呼び出すまでに、古い結果セットはありません。

したがって、mimipcのソリューションに固執する方がよいでしょう。これは、かなり賢いソリューションです。

于 2013-02-08T01:21:39.580 に答える