訪問者が別のページに移動するたびにランダムに表示される画像名と画像ファイルへのパスを含む「バナー」テーブルがあります。
バナーテーブルは、banner_id(auto_increment、unique、primary、tinyint)、banner_name(varchar)、banner_path(varchar)の各フィールドで構成されています。
バナーテーブルは、コントロールパネルから編集できます。新しいバナーが追加され、一部のバナーはしばらくすると削除され、更新される可能性があります。一般的なCRUD操作、ご存知のとおり...
さて...私の目標はバナーをランダムに表示することなので、特定のバナーを除外する機能を提供する乱数ジェネレーター関数が必要になります。
より明確にするために、
私のテーブルが次のようになっているとしましょう。
banner_id banner_name banner_path
--------- ------------ ------------
1 First Banner first_banner.jpg
2 Second Banner second_banner.jpg
3 Third Banner third_banner.jpg
このようなPHP関数を使用してランダムIDを簡単に取得できます。mt_random(1, 3);
ちょっと待って。これらのバナーの1つを削除するとどうなりますか?
banner_id banner_name banner_path
--------- ------------ ------------
1 First Banner first_banner.jpg
3 Third Banner third_banner.jpg
この場合、ランダム出力が「2」になるとどうなりますか?「2」のbanner_id'd行はありませんか?したがって、乱数範囲からDELETEDIDを除外する必要があります。これがベストプラクティスになりますか?もしそうなら、どうすればそれを行うことができますか?
私は自分がやりたいことをするのに役立つ新しいアイデアを完全に受け入れています。
この問題を理解するのを手伝ってください...
ありがとう
ありがとう。