私はこのサイトとネットで一般的に見回しましたが、これまでのところ運がありません.
質問 :
各ファイルにアクセスできるグループを識別する、カンマ区切りの数値リストを含むフィールドを持つファイル情報を格納するテーブルがあります。
各ユーザーのアクティブなグループはセッションに保存されるため、セッション内のカンマ区切りの番号リストと、テーブル列に保存されているカンマ区切りのリストを比較する必要があります。セッション内のいずれかのグループが列内のいずれかのグループと一致する場合、ファイルはアクセス可能です。
例えば :
リソース 1 には、「1,13,15」が入力された rgroups フィールドがあり、これらの 3 つのグループがリソースを表示できることを示しています。
リソースを一覧表示するページには、$matches がアクティブなグループのセッションから取得される次のクエリがあります。
SELECT * FROM resources WHERE rgroups IN ($matches)
これは、1 つのグループがアクティブな場合 (つまり、WHERE 1 IN (1,13,15)) では正常に機能するように見えますが、複数のグループがアクティブな場合はどうなるでしょうか?
SELECT * FROM resources WHERE 1,14 IN (1,13,15)
それとも、別のより複雑なクエリが必要ですか?
ありがとう!