글

DB 추출 관련


DB 추출관련 입니다.
이쪽 부분은 잘 몰라서 ㅎㅎ

 $sql="select * from g4_board_file where bo_table='pds_01' or bo_table='util' or bo_table='mapp' or bo_table='patch' order by bf_download desc limit 8";
 $result = sql_query($sql);
 $ranking=0;
 while($bf_rank = mysql_fetch_array($result))
 {
 $sql2="select * from g4_write_$bf_rank[bo_table] where wr_id='$bf_rank[wr_id]'";
 $result2 = sql_query($sql2);

 while($rank=mysql_fetch_array($result2))

위의 소스는 다운로드 횟수 순위를 출력하는데 사용하는 소스의 부분 입니다.
g4_board_file 에서 bf_download 로 가져 오는건 대충 알겠는데

이 소스를 조회수나 1번링크 hit 순으로 바꾸고 싶습니다.
어떻게 해야 하나요? ㅠ_ㅠ

|

댓글 3개

조회수나 1번링크 hit 순으로 정렬하고

어느 테이블에서 가져오고 싶으신 건지 알면 답변이 빠를것 같습니다.

g4_board_file 테이블인가요?
g4_write_xxxx 테이블인가요?
select * from g4_board_file where bo_table='pds_01' or bo_table='util' or bo_table='mapp' or bo_table='patch' order by bf_download desc limit 8

일단 위의 쿼리로 날리신다는 것은 util 이나 pds_01,mapp,patch 게시판에 있는 파일의 정보를 다운로드 카운트 순으로 가져오는 것입니다.

쓰신글을 보면 그 해당글의 조회수나 1번 파일의 힛순으로 가져오신다고 하셨는데 이것은 정리하자면 파일기준에서 게시글 기준으로 바꾸신다는 내용입니다. (제 해석이 맞는지요?)

일단 하나하나 설명을 드리겠습니다.
1번파일의 링크 순으로 정렬하시고자 한다면 파일테이블의 bf_no=0 인것을 추출해서 그것의 랭크를 주시면 됩니다.

따라서
select * from g4_board_file where (bo_table='pds_01' or bo_table='util' or bo_table='mapp' or bo_table='patch') AND bf_no='0' order by bf_download desc limit 8

가 됩니다. 이쿼리문은 해당 게시판들에 올라온 게시물 중 1번 링크에 올려진 파일들을 가져와 다운로드 순으로 정렬하게 됩니다.


두번째의 경우는 조회수를 접목하는 것인데 이것은 해당 게시판을 모두 union all 하여 보여주어야 합니다.
또한 서브쿼리가 적용되지 않는 mysql 4.0 대 버전일 경우 더 많은 비용을 필요로 합니다. 특히 해당 게시판이 4개나 되기 때문에 너무 많은 비용을 소모할 것 같습니다. 꼭 적용하시고자 한다면 개인적으로 쪽지 주시면 답변드리도록하겠습니다.
쪽지로 자세한 정보 감사 드립니다 ^ ^
댓글을 작성하시려면 로그인이 필요합니다.

그누보드4 관련 질문은 QA 로 이전됩니다. QA 그누보드4 바로가기 기존 게시물은 열람만 가능합니다.

+
제목 글쓴이 날짜 조회
10-01-03 조회 1,066
10-01-03 조회 996
10-01-03 조회 1,076
10-01-03 조회 1,608
10-01-03 조회 3,079
10-01-03 조회 1,263
10-01-03 조회 1,169
10-01-03 조회 1,710
10-01-03 조회 1,920
10-01-03 조회 890
10-01-03 조회 834
10-01-03 조회 830
10-01-02 조회 1,435
10-01-02 조회 1,605
10-01-02 조회 1,595
10-01-02 조회 1,595
10-01-02 조회 1,585
10-01-02 조회 874
10-01-02 조회 1,069
10-01-02 조회 1,571