[技術討論] php mysql 閱讀權限

請問CHING
除左用ph in_array($myid,$userlist)呢種方法
可唔可以係mysql已經做到
還有其他比較有效率既方法嗎
many thanks
附件: 您需要登錄才可以下載或查看附件。沒有帳號?註冊

請問CHING
除左用ph in_array($myid,$userlist)呢種方法
可唔可以係mysql已經做到
還有其他比較有效率既方 ...
carlkyo 發表於 2018-6-28 21:04



one to many
起多隻userlist table

TOP

本帖最後由 carlkyo 於 2018-6-29 07:41 編輯
one to many
起多隻userlist table
Ferrari2010 發表於 2018-6-28 22:19


myid係user自己個user ID

userlist係user create record時選邊D user可以睇隻record.

many thanks

TOP

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

TOP

回覆 4# Ferrari2010
即係如果個record俾id為1 2 3 既人睇,就入3次
Recorded userid
唔知有冇理解錯
Many thanks

TOP

本帖最後由 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 可以行得好快

TOP

回覆 6# Ferrari2010
佢個userlist column算吾算violate左db normalization? multi value

TOP

本帖最後由 carlkyo 於 2018-7-4 19:28 編輯
yes
record_id         user_id
1                        1
1                        2
1            ...
Ferrari2010 發表於 2018-7-2 00:58
  1. CREATE TABLE `cp_mapping` (
  2.   `note_id` int(11) unsigned NOT NULL,
  3.   `userlist` int(11) unsigned  DEFAULT '0'
  4. ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
複製代碼
不過唔知table structure有冇錯
係database層面已經做到我要既野
冇選人就唔入
有選人就會逐次入record_id & userid
many thanks

TOP

回覆  Ferrari2010
佢個userlist column算吾算violate左db normalization? multi value
faifai773 發表於 2018-7-3 11:00



其實最重要係performance.
normalize後如果令到data structure複雜得濟又唔化算.
如果唔洗search, 就算放json我覺得都可以.

TOP

不過唔知table structure有冇錯
係database層面已經做到我要既野
冇選人就唔入
有選人就會逐次入record_id  ...
carlkyo 發表於 2018-7-4 14:19



如果係咁你可以在records table加個field,
tinyint 1/0
用來決定搵唔搵cp_mapping 呢個table.

TOP