私はこの時点で codeigniter を初めて使用し、ほぼすべてのことを行っていますが、php、mysql、ci、および Web アプリケーション開発全般について自分のやり方を感じることである程度の成功を収めています。とはいえ、私は現時点ではちょっと立ち往生しています。だから、私がやろうとしていることについてあなたの意見を得るためにこれを投げ出したかったのですが、できれば私の問題を理解し、解決策を得るために忍耐を持ってください。私はあなたに与えるために最善を尽くしますすべての詳細。
まず、特定の組織への出席の記録を容易にするために、Web アプリケーションを開発中です。組織のすべてのメンバーを保持するメンバー テーブル、組織でロールを保持するメンバーのユーザー名とパスワードを保持するログイン テーブル、組織で保持されるロールを格納するロール テーブル、そして最後に member_role を作成しました。組織で複数の役割を持つ可能性のあるメンバーを説明する表。(もちろん、メンバーへの外部キーを持つ出席表ですが、それは私の現在の質問の範囲外です)。
MySQL コードには、適切なテーブル (memeber、login、role、および member_role) のみが含まれています。
<!-- language: lang-mysql -->
CREATE TABLE `member` (
`id` int(10) NOT NULL auto_increment,
`fname` varchar(32) NOT NULL,
`lname` varchar(32) NOT NULL,
...
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
CREATE TABLE `login` (
`memberid` int(10) NOT NULL,
`username` varchar(32) NOT NULL,
`password` varchar(32) NOT NULL,
FOREIGN KEY (`memberid`) REFERENCES member(`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
CREATE TABLE `role` (
`id` integer(10) NOT NULL auto_increment,
`role` varchar(32) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
CREATE TABLE `member_role` (
`memberid` integer(10),
`roleid` integer(10),
`active` char(1) NOT NULL,
FOREIGN KEY (`memberid`) REFERENCES member(`id`),
FOREIGN KEY (`roleid`) REFERENCES role(`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
これまでのところ、この目的のためにデータベースを定義するという点で、かなり良い仕事をしたと思います。私は初心者なので、初心者が知っていることしか知りません。
ここに私が現在抱えている本当の問題があります。2 つのロールを持つユーザーを作成しました。特定のメンバーの役割の配列であるセッションに適切に保存しています。セッション配列は、roleid 1 と roleid 3 を返します。
各ロール ID に特定のボタンまたは機能が割り当てられているとします。memeberid = 1 の場合、roleid = 1 と roleid = 3 を割り当てたので、roleid = 1 と roleid = 3 で使用できる機能のみを含むページを作成したいだけです。
これは私が立ち往生している場所です。配列はありますが、ユーザー用のページを作成する方法がわかりません。コードをコントローラーまたはビューに配置する必要がありますか? いずれにせよ、roleid = 1 と roleid = 3 に関するボタンのみを含むボタンのページを作成する方法がわかりません。うーん、理解していただければ幸いです。
ご理解いただけましたら、私がこれをどのように達成できるかの例を挙げていただければ幸いです。
御時間ありがとうございます。