php관련

홈페이지 내 친구(일촌)시스템 구현시.

PHPdev 2011. 11. 18. 15:22
반응형

 질문내용
 예를들어
A , B , C 가 있습니다.

A -> B 에게 친구신청 (수락됨)
A -> C 에게 친구신청 (대기중)

B -> C 에게 친구신청 (수락됨)

상태일때

제가 생각한 db구성은 걍..

Tbl
id1
id2
수락여부
날짜필드

정도로만 구성해서
로그인 한 아이디 가 A 일때
id1 ='A' or id2 ='A' 로 검색해서
수락여부 따라서 로그인 한 A 아이디가 아닌
수신자 아이디 혹은 신청자 아이디의 값으로 친구여부를 보여주려고 했거든요

근데 이게 검색부분에선 되게 비효율적인듯해서요..

그전 구현해보신 분 계시면 DB구성틀 팁좀 부탁드립니다.
 답변내용
 
흠..
요번에 구현할일이 있어서 저도 고민해서 구현을 했봤는대요
전 신청테이블과 친구테이블을 두개를 만들어서
친구신청을 하면 신청테이블에 넣어두고 상대방이 수락하면
회원1/회원2 두개에 레코드를 2개를 넣는 방식으로 구현을 했습니다.
그러면 검색할때도 하나의 필드만 검색해도 되고
친구가 많아지면 그룹으로 묶을일도 생기니
한명의 친구당 하나의 레코드라면 group_id 를 생성해서 그룹으로 또 묶을수도
있고 또 친구 몰래 차단이라던가 하는 기능등을 나중에
확장하기 위해선 관계 하나당 2개의 레코드를 구분하는게 좋겠더라고요

반응형