공부/WEB개발 과제

[10주차-1] 추천(좋아요) 기능

TILDA_16 2023. 6. 2. 00:04

다른 사람의 게시글에 추천(좋아요) 기능을 넣어줄 것이다.

 

먼저 게시글 DB(topic)에 like_count라는 컬럼을 추가해 주고

like_count 컬럼 추가

게시글을 조회했을 때 해당 게시글의 작성자가 아니라면 추천기능을 넣을 것이다.

 

그리고 좋아요를 관리해 줄 like_management 테이블을 하나 생성했다.

 

like_management 테이블 생성

 

좋아요를 누르면 게시글의 ID값과 누른 사람을 같이 추적해서 기록으로 남길 것이다.

 

수정된 read.php

먼저 read.php를 수정해 줬다.

 

좋아요의 개수가 보이고 본인이 쓴 글이 아니면 좋아요 버튼이랑 취소 버튼이 나온다.

 

GET으로 게시글의 id값을 넘겨받았다.

 

like_inc.php

다음은 like_inc의 소스코드이다.

 

GET으로 게시글의 id값을 넘겨받으므로 URL을 수정해서 좋아요를 올릴 수도 있으므로 14 ~ 17줄로 그것을 방지하였다.

 

18 ~ 22줄은 이미 좋아요를 눌렀는데 다시 누를 경우를 방지해 주는 코드이고

 

24 ~ 30줄은 정상적인 좋아요를 눌렀을 시 값이 증가하게 만들었다.

 

좋아요 증가 기능 수행

좋아요 취소 기능이다.

 

like_dec.php

 

12 ~ 17줄은 좋아요 기록이 없으면 게시판으로 이동되고 

 

19 ~ 25줄은 좋아요 기록이 있으면 좋아요를 취소시키는 기능이다.

 

좋아요 감소 기능 수행

 

이렇게 좋아요 기능까지 구현을 해봤다.