2013-09-07 2 views
1

내 사이트에 토론 그룹을 추가하는 과정을 거치고 있습니다. 현재 사용자가 주제에 게시하고 다른 사용자가 매우 간단하게 답변 할 수 있습니다. 여기토론 그룹 시스템 구현

내가

Disc_group

을 그룹 테이블

을 설정하는 방법입니다 내 질문에 내가 현재의 주제, 게시물 및 태그와이를 구현하는 가장 효율적인 방법을 생각하는 것을 시도하고있다
ID(int) 
Name(varchar) 
Description(varchar) 
Created(date) 
Creator(int) = user_id 
invite_rule(enum 0,1) 0 = open invite, 1 = invite must be approved 

Disc Users 
ID(int) 
User_id(int) 
Group_id(int) 
datejoined(date) 
accepted(enum 0,1) 1 = accepted 
admin(enum 0,1) 1 = admin 

테이블.

"group_id"를 주제에 추가하여 group_id가 3 인 주제가 그룹 페이지 id = 3을보고있는 경우에만 표시 할 수 있다고 생각했습니다.

내가 하나가, 나는 그런

로 추천 할 것입니다 무슨 파일 구조를 알고 싶은거야 나를 위해 코드를 작성하지 않으 그룹화 게시물 topics.php "에 표시됩니다 비

? ID = 1 "주제가"gtopics.php? id = 1 "에 표시되는 경우, 내 문제가 너무 혼란스럽지 않기를 바랍니다.

+0

좋은 해결책을 설명했습니다. – Itay

+0

고마워, 나는 여전히 코딩에 아주 익숙하기 때문에 항상 제 자신을 추측합니다. – user2571547

답변

0
invite_rule(enum 0,1) 0 = open invite, 1 = invite must be approved 
accepted(enum 0,1) 1 = accepted 
admin(enum 0,1) 1 = admin 

우리는 이미 내가보기 엔 당신이 논리를 데이터베이스에서 사용자 권한을 저장하고 수행 할 수있는 방법 비트 마스킹 시스템을 구현하는 것이 좋습니다, 권한의 집합으로 형성 이상 볼 수 있습니다 그리고 당신은 당신의 인증 토큰을 생성 할 때 .

Disc Users 
ID(int) 
User_id(int) 
Group_id(int) 
datejoined(date) 
accepted(enum 0,1) 1 = accepted 
admin(enum 0,1) 1 = admin 

은 정상화에 올 때, 나는이를 대체하기 위해 다음과 같은 구조를 제안 할 것 상처를 시작할 예정 :

DISC_GROUPS 
GroupName 
GroupId (not needed if group names need to be unique)  

DISC_USER_GROUPS 
UserId 
GroupId 

DISC_USERS 
USER_ID 
NAME 
PERMISSIONS 
DATE_JOINED 
//other information about users 


//This table may be unnecessary, unless you want to add some audit information perhaps 
DISC_INFORMATION (THIS IS YOUR OLD DISC_USERS table) 
ID 
USERID 

공지 사항 우리는 정보를 복제하지 않으며 우리는 USER_ID 관계에 의존하는 방법 우리가 더 자세한 정보가 필요하면.