[Back] 게시글 좋아요 기능 만들기 - 2. 데이터베이스 설계
안녕하세요 주갬입니다~!
게시글 좋아요 기능을 이어서 포스팅 하도록 하겠습니다. 오늘은 데이터베이스 구성에 대한 설명입니다.
저는 좋아요 기능 관련 테이블의 컬럼을 다음과 같이 구성했습니다.
id는 auto_increment 컬럼으로, 인덱스값으로 사용됩니다.
board_no는 게시글의 id값을 저장합니다.
user는 현재 로그인하고 있는 사용자의 id값을 저장합니다.
like_no, dislike_no, check에 대한 설명은 밑에 상황별로 나누어 자세히 설명드리겠습니다.
1. 로그인 후, 페이지에 처음 들어가 아직 좋아요 싫어요를 누른 적이 없다면
ajax를 이용해 $(document).ready()에서 row를 생성해줍니다. -> 이 부분은 수정이 필요
1. 최초로 좋아요 / 싫어요를 선택
like_no += 1 , check += 1 disllike_no += 1, check += 1
좋아요(싫어요)가 최초로 선택되면 like_no에 +1을 해주어 카운팅을 해주고,
선택이 이미 되었다는 것을 표시해주기 위해 check에도 +1을 해줍니다.
2. 좋아요 / 싫어요 선택 이후 다른 방향으로 선택 변경
최종 선택이 like, 현재 선택이 dislike :
dislike의 check가 1이면 (이미 선택이 되어있던 상태이면),
dislike_no를 -1, like_no를 +1 해줍니다.
최종 선택이 dislike, 현재 선택이 like :
like의 check가 1이면 (이미 선택이 되어있던 상태이면),
like_no를 -1, dislike_no를 +1 해줍니다.
//취소기능?
다음과 같이 데이터베이스의 스키마를 구성해보았습니다.
다음 글에서 위의 스키마대로 데이터베이스를 생성하고 그 외 백단 작업도 진행하도록 하겠습니다.