作者: carlkyo 時間: 2018-6-28 21:04 標題: php mysql 閱讀權限
請問CHING
除左用ph in_array($myid,$userlist)呢種方法
可唔可以係mysql已經做到
還有其他比較有效率既方法嗎
many thanks
作者: Ferrari2010 時間: 2018-6-28 22:19
請問CHING
除左用ph in_array($myid,$userlist)呢種方法
可唔可以係mysql已經做到
還有其他比較有效率既方 ...
carlkyo 發表於 2018-6-28 21:04
one to many
起多隻userlist table
作者: carlkyo 時間: 2018-6-28 23:33
本帖最後由 carlkyo 於 2018-6-29 07:41 編輯
myid係user自己個user ID
userlist係user create record時選邊D user可以睇隻record.
many thanks
作者: Ferrari2010 時間: 2018-6-30 14:15
myid係user自己個user ID
userlist係user create record時選邊D user可以睇隻record.
many thanks ...
carlkyo 發表於 2018-6-28 23:33
起個pivot table
即係一個user record table
with user_id, record_id
作者: carlkyo 時間: 2018-6-30 17:02
回覆 4# Ferrari2010
即係如果個record俾id為1 2 3 既人睇,就入3次
Recorded userid
唔知有冇理解錯
Many thanks
作者: Ferrari2010 時間: 2018-7-2 00:58
本帖最後由 Ferrari2010 於 2018-7-2 01:03 編輯
回覆 Ferrari2010
即係如果個record俾id為1 2 3 既人睇,就入3次
Recorded userid
唔知有冇理解錯
Many t ...
carlkyo 發表於 2018-6-30 17:02
yes
record_id user_id
1 1
1 2
1 3
你可以落個record_id + user_id unique index保障唔會duplicate
而且given record_id and user_id 時search 可以行得好快
作者: faifai773 時間: 2018-7-3 11:00
回覆 6# Ferrari2010
佢個userlist column算吾算violate左db normalization? multi value
作者: carlkyo 時間: 2018-7-4 14:19
本帖最後由 carlkyo 於 2018-7-4 19:28 編輯
- CREATE TABLE `cp_mapping` (
- `note_id` int(11) unsigned NOT NULL,
- `userlist` int(11) unsigned DEFAULT '0'
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
係database層面已經做到我要既野
冇選人就唔入
有選人就會逐次入record_id & userid
many thanks
作者: Ferrari2010 時間: 2018-7-7 15:30
回覆 Ferrari2010
佢個userlist column算吾算violate左db normalization? multi value
faifai773 發表於 2018-7-3 11:00
其實最重要係performance.
normalize後如果令到data structure複雜得濟又唔化算.
如果唔洗search, 就算放json我覺得都可以.
作者: Ferrari2010 時間: 2018-7-7 15:33
如果係咁你可以在records table加個field,
tinyint 1/0
用來決定搵唔搵cp_mapping 呢個table.
作者: carlkyo 時間: 2018-7-8 12:02
- DROP TABLE IF EXISTS `cp_mapping`;
- CREATE TABLE `cp_mapping` (
- `record_id` int(11) unsigned NOT NULL,
- `userlist` int(11) unsigned NOT NULL DEFAULT '0',
- KEY `record_id` (`record_id`),
- KEY `userlist` (`userlist`),
- CONSTRAINT `cp_mapping_ibfk_2` FOREIGN KEY (`userlist`) REFERENCES `cp_user` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
- CONSTRAINT `cp_mapping_ibfk_1` FOREIGN KEY (`record_id`) REFERENCES `cp_record` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
where userlist is null or userlist = $_session['myuid']

