별점 기능은 어떻게 만드나요?
본문
평가기준은
1.재미
2.완성도
수준으로 만들려고하는데
답변 2
이렇게 물어 보시는게 엄청 막연 한 것입니다.
예를 들어 구글에
star rating php
라고 검색 하시면
소스가 많이 뜹니다.
제일 위에 뜨는 소스
이런식으로 검색 해보시면 재미 완성도 수준으로 만들 수 있을 듯 싶습니다.
최근에 별점을 만들었는데, 저같은 경우에는 이런 방식으로 제작 했네요.
1. mentor 님 말씀대로 php(jquery) rating star 이런식으로 검색을 해서 별점 관련 소스를 찾습니다.
저는 ( jRating)이라는 jquery소스를 이용해서 만들었습니다.
2. 제가 찾은 소스는 jquery로 만들어진 소스였어요. 이 소스 같은경우에는 별점을 선택을 하면 특정 html 소스에 제가 선택한 별점의 숫자가 입력이 되더라고요.
ex) <div id="score">4.5</div>
3. 위에 저 score를 이제 이용해서 db에 입력을 해야 겠죠. 테이블의 구성은 저같은 경우에는
wr_id | mb_id | bo_name | rate
게시판 id값|회원아이디|게시판이름|점수
이렇게 구성을 했어요.
게시판 id값은 한사람당 한번만 별점을 줄 수 있게 규칙을 정할려고 한 것입니다.
그리고 회원아이디는 로그인 한 사람만 별점을 줄 수 있게 규칙을 정할려고 한 것입니다.
bo_name도 게시판의 정보가 들어가야지 다른 게시판과 혼동을 막겠죠?
점수는 말그대로 점수입니다.
4. 위처럼 db 테이블도 구성을 완료 한 후에는 이제는 별점을 클릭을 하게 되면 별점이 insert가 되어야 겠죠? insert를 하기 위해서 저는 새로운 파일을 만들어서 update시키는 방법과 ajax를 이용한 페이지이동이 안보이는 방법 중 ajax를 이용해서 작업을 했습니다.
ajax를 이용해 별정 등록을 선택한 순간 db에 insert를 시켰죠. (예외처리는 이 게시판에 이 회원이 이 게시글에 등록을 했는지 파악은 필수죠)
5. 이렇게 점수를 다 등록을 하게 되면 이 게시판의 이 게시글에 점수들을 모아서 평균을 내면 끝! 이네요.
뭔가 중간에 더 단계가 있떤거 같기는 하지만.. 대략 이런식으로 만들었어요..