ランダムな順序による PHP MySQL ページネーション
MySQL ページネーションでランダムな順序を維持すると、結果の重複を防ぎ、さまざまなセットを保証しようとするときに課題が生じる可能性があります。最初のページ。これらの問題に対する解決策は次のとおりです:
1.結果の重複の防止
後続のページで以前に表示された結果を除外するには、以前に取得した行に基づく除外基準を使用して SQL クエリを拡張します。 PHP 配列を利用して取得したコンテンツを保存し、クエリに除外条件を組み込みます。
$excludeIDs = []; // Array to store excluded IDs
$query = "SELECT * FROM table ";
if(!empty($excludeIDs)) {
$query .= "WHERE id NOT IN (" . implode(",", $excludeIDs) . ") ";
}
$query .= "ORDER BY RAND() LIMIT 0,10;";
2.最初のページの結果の変化
はい、RAND() 関数にシード値を導入することで、ランダムな順序でページネーションを使用できます。シードを変更することにより (時間やユーザーの IP アドレスなどに基づいて)、毎回異なる結果セットを取得できます。
3. RAND(SEED)
の使用 RAND(SEED) を使用してシード値を指定し、ランダムな順序付けに影響を与えます。定数の整数をシードとして設定することで、結果のシーケンスを制御できます。
$seed = 521; // Example seed value
$query = "SELECT * FROM table ORDER BY RAND(" . $seed . ") LIMIT 0,10;";
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3