랭킹구하는거 도움좀 주실분... 정보
랭킹구하는거 도움좀 주실분...본문
게시물이 있습니다 예를들어
게시판에 게시글이 5개정도 있다고 했을대
조회수가
10
20
11
32
50
순이라고 가정하고 저 게시물 조회수 옆에 랭킹을 표시하고 싶은데요..
게시글 높은순으로 정렬 말고 리스트 출력은 그대로 하되.... 조회수 크기에 비례해
10(5)
20(3)
11(4)
32(2)
50(1)
이렇게 표시하고 싶은데 머리가 안돌아가서 그러는데 조언좀 부탁 드려봅니다 ㅠㅠ
게시판에 게시글이 5개정도 있다고 했을대
조회수가
10
20
11
32
50
순이라고 가정하고 저 게시물 조회수 옆에 랭킹을 표시하고 싶은데요..
게시글 높은순으로 정렬 말고 리스트 출력은 그대로 하되.... 조회수 크기에 비례해
10(5)
20(3)
11(4)
32(2)
50(1)
이렇게 표시하고 싶은데 머리가 안돌아가서 그러는데 조언좀 부탁 드려봅니다 ㅠㅠ
댓글 전체
1. list.skin.php 파일의 상단(<? ~ ?> 사이)에..
$sel = sql_query(" select wr_id from $write_table where wr_datetime like '$g4[time_ymd]%' and wr_is_comment<1 order by wr_hit desc, wr_datetime desc limit 10 ");
while($row=sql_fetch_array($sel)){
$hit_rank[] = $row['wr_id'];
}
위 소스를 삽입.
2. list.skin.php 파일의 [리스트 제목 부분]을 표시해 주는 부분을 잘 파악하셔서
if ($list[$i][is_notice]){
echo "<a href='{$list[$i][href]}'><span class='notice'>{$list[$i][subject]}</span></a>";
}else{
if(count($hit_rank) && in_array($list[$i][wr_id], $hit_rank)){
$rank_num = array_search($list[$i][wr_id], $hit_rank); $rank_num++;
$rank_num = "<span style='font-weight:bold; color:#99cc00'>[".$rank_num."위]</span>";
}else{
$rank_num='';
}
echo "<a href='{$list[$i][href]}'>{$list[$i][subject]}</a> $rank_num";
}
위와 같은 형태로 삽입.
위 방법은 하루동안의 게시물 조회수를 기준으로 랭킹 [베스트 10] 을 표시합니다.
만약 전체 조회수를 원하신다면...
1번에 넣은 소스를 아래처럼 수정하시면 되는데 게시물이 많아질 경우 부하가 심하게 걸릴 수 있어서 추천하지는 않습니다. (특히 limit 을 걸지 않을 때)
$sel = sql_query(" select wr_id from $write_table where wr_is_comment<1 order by wr_hit desc, wr_datetime desc limit 10");
while($row=sql_fetch_array($sel)){
$hit_rank[] = $row['wr_id'];
}
$sel = sql_query(" select wr_id from $write_table where wr_datetime like '$g4[time_ymd]%' and wr_is_comment<1 order by wr_hit desc, wr_datetime desc limit 10 ");
while($row=sql_fetch_array($sel)){
$hit_rank[] = $row['wr_id'];
}
위 소스를 삽입.
2. list.skin.php 파일의 [리스트 제목 부분]을 표시해 주는 부분을 잘 파악하셔서
if ($list[$i][is_notice]){
echo "<a href='{$list[$i][href]}'><span class='notice'>{$list[$i][subject]}</span></a>";
}else{
if(count($hit_rank) && in_array($list[$i][wr_id], $hit_rank)){
$rank_num = array_search($list[$i][wr_id], $hit_rank); $rank_num++;
$rank_num = "<span style='font-weight:bold; color:#99cc00'>[".$rank_num."위]</span>";
}else{
$rank_num='';
}
echo "<a href='{$list[$i][href]}'>{$list[$i][subject]}</a> $rank_num";
}
위와 같은 형태로 삽입.
위 방법은 하루동안의 게시물 조회수를 기준으로 랭킹 [베스트 10] 을 표시합니다.
만약 전체 조회수를 원하신다면...
1번에 넣은 소스를 아래처럼 수정하시면 되는데 게시물이 많아질 경우 부하가 심하게 걸릴 수 있어서 추천하지는 않습니다. (특히 limit 을 걸지 않을 때)
$sel = sql_query(" select wr_id from $write_table where wr_is_comment<1 order by wr_hit desc, wr_datetime desc limit 10");
while($row=sql_fetch_array($sel)){
$hit_rank[] = $row['wr_id'];
}
답변감사합니다 삽질끝에.... 해결하였습니다 ^^