조회수나 링크수에 따른
랭킹(순위)게시판을 구현하기 위해서
열심히 만들어보고있는데요.
현재 그누보드의 조회수는 브라우저가 완전히 닫히고 새로열리면 hit 수가 증가하게되어있습니다.
+++이는 방문자에따라 랭킹 조작이 가능하여 의미가 사라지게 됩니다.
----------------------------------------------------------------------------------
// 한번 읽은글은 브라우저를 닫기전까지는 카운트를 증가시키지 않음
$ss_name = "ss_view_{$bo_table}_{$wr_id}";
if (!get_session($ss_name))
{
sql_query(" update $write_table set wr_hit = wr_hit + 1 where wr_id = '$wr_id' ");
----------------------------------------------------------------------------------
현재는 위와같은 쿼리로 처리되고있습니다.
이를 제목과 같이 1ip당 1회만 증가하는 방법으로 변경하고 싶은데요,
쿠키나 세션으로 하는방법은 세션삭제시 다시 힛트수를 증가시킬수 있다고 어디서 들은것 같아요.
이를구현하려면 대략적으로
->방문자 특정게시물 조회
->별도의 필드에 조회한 사람의 ip값을 비교
->동일IP없을경우 저장 hit 1 증가
->동일IP있을경우->hit 증가 없음
이런식으로 구현해야 할까요?...
완전초보인지라 이게 맞는건지도 모르겠네요 ㅡㅜ
소스나 힌트좀 주시면 감사하겠습니다. 꾸뻑~
랭킹(순위)게시판을 구현하기 위해서
열심히 만들어보고있는데요.
현재 그누보드의 조회수는 브라우저가 완전히 닫히고 새로열리면 hit 수가 증가하게되어있습니다.
+++이는 방문자에따라 랭킹 조작이 가능하여 의미가 사라지게 됩니다.
----------------------------------------------------------------------------------
// 한번 읽은글은 브라우저를 닫기전까지는 카운트를 증가시키지 않음
$ss_name = "ss_view_{$bo_table}_{$wr_id}";
if (!get_session($ss_name))
{
sql_query(" update $write_table set wr_hit = wr_hit + 1 where wr_id = '$wr_id' ");
----------------------------------------------------------------------------------
현재는 위와같은 쿼리로 처리되고있습니다.
이를 제목과 같이 1ip당 1회만 증가하는 방법으로 변경하고 싶은데요,
쿠키나 세션으로 하는방법은 세션삭제시 다시 힛트수를 증가시킬수 있다고 어디서 들은것 같아요.
이를구현하려면 대략적으로
->방문자 특정게시물 조회
->별도의 필드에 조회한 사람의 ip값을 비교
->동일IP없을경우 저장 hit 1 증가
->동일IP있을경우->hit 증가 없음
이런식으로 구현해야 할까요?...
완전초보인지라 이게 맞는건지도 모르겠네요 ㅡㅜ
소스나 힌트좀 주시면 감사하겠습니다. 꾸뻑~
댓글 2개
여러가지 방법이 있겠지만 ..
db에 대략 한 3개의 필드를 준비하세요.
ip,section(분류:list or view or main or _SERVER["PHP_SELF"]),regdate(YmdHis)
row = select `ip` from `table` where ip = $_SERVER[REMOTE_ADDR] limit 1
if row[ip]!="" {//작업없음}else{// hit ++}
그리고 db 너무 많이 쌓이게 되므로 delete from 'table' where regdate < (date(YmdHis)-10)
대충 요런감으로 하시면 될듯...
db에 대략 한 3개의 필드를 준비하세요.
ip,section(분류:list or view or main or _SERVER["PHP_SELF"]),regdate(YmdHis)
row = select `ip` from `table` where ip = $_SERVER[REMOTE_ADDR] limit 1
if row[ip]!="" {//작업없음}else{// hit ++}
그리고 db 너무 많이 쌓이게 되므로 delete from 'table' where regdate < (date(YmdHis)-10)
대충 요런감으로 하시면 될듯...
게시글 목록
| 번호 | 제목 |
|---|---|
| 284508 | |
| 284499 | |
| 284492 | |
| 284490 | |
| 284484 | |
| 284481 | |
| 284478 | |
| 284476 | |
| 284474 | |
| 284472 | |
| 284470 | |
| 284458 | |
| 284457 | |
| 284454 | |
| 284453 | |
| 284447 | |
| 284446 | |
| 284444 | |
| 284441 | |
| 284440 |
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기