私を助けてくれる人なら誰でも大歓迎です。
目標: 1 つのテーブルの ID をランダムに表示し、現在のユーザーに表示されないようにしたいと考えています。
2 つのテーブル: offers
、 has_seen
オファーからランダムな ID を選びたいので、has_seen テーブルと照合します。
ID が has_seen に存在する場合は、別のランダム ID を選択し直す必要があります。現在のセッションのどのユーザーにも、同じ ID が表示されることはありません。
ランダムなものを選択し、他のテーブルをチェックし、見つかった場合はループバックする方法を理解できないようです。
私はこれを試しました
$query = $this->db->query("SELECT * FROM ".$this->offer_table." WHERE NOT EXISTS (SELECT * FROM ".$this->shown_table." WHERE ".$this->shown_table.".camp_id = ".$this->offer_table.".camp_id AND ".$this->shown_table.".usercode = ".$this->session->userdata("table")." LIMIT 1 ");