회원별 글작성수 정렬문제 도와주세요~~ 정보
회원별 글작성수 정렬문제 도와주세요~~본문
오류가 나는곳의 주소를 알려주시면 더 빠르고 정확하게 답변 받을 수 있습니다.
오류 주소 :
<?php
$result = sql_query(" SELECT * FROM $g4[member_table] ");
while ($row = sql_fetch_array($result)) {
$result1 = sql_query(" SELECT bo_table FROM $g4[board_table] ");
while ($row1 = sql_fetch_array($result1)) {
$sql = " SELECT COUNT(*) AS cnt
FROM $g4[write_prefix]$row1[bo_table]
WHERE wr_is_comment = 0 AND
mb_id = '$row[mb_id]' ";
$row2 = sql_fetch($sql);
$mb[$row['mb_id']][$row1['bo_table']] = $row2['cnt'];
$mb[$row['mb_id']]['cnt'] += $row2['cnt'];
}
echo "$row[mb_nick] {$mb[$row[mb_id]][cnt]}건<br />\n";
}
?>
이렇게 하면 회원별 글작성수가 나오잖아요
이걸 글작성수가 높은 순으로 정렬을 하고 싶은데
멤버테이블이 젤 상위에 있어서 카운터로 정렬이 안되는 거 같습니다.
순서를 변경해도 보고 합쳐보려고도 했지만 안되네요 ㅠㅠ
제발 어케 해야 하는지 좀 알려주세요 .
힌트라도 .. ㅠㅠ
참고로 전체게시물을 이용하여 만들어볼려고 했지만...
전체게시물 테이블은 용량문제로 주기적으로 지워주고 있기 떄문에 회원별 총글작성수가 제대로 나오질 않아 쓸 수가 없네요.
제발 제게 찬란한 빛을 내려주세요 ↖T0T↗
오류 주소 :
<?php
$result = sql_query(" SELECT * FROM $g4[member_table] ");
while ($row = sql_fetch_array($result)) {
$result1 = sql_query(" SELECT bo_table FROM $g4[board_table] ");
while ($row1 = sql_fetch_array($result1)) {
$sql = " SELECT COUNT(*) AS cnt
FROM $g4[write_prefix]$row1[bo_table]
WHERE wr_is_comment = 0 AND
mb_id = '$row[mb_id]' ";
$row2 = sql_fetch($sql);
$mb[$row['mb_id']][$row1['bo_table']] = $row2['cnt'];
$mb[$row['mb_id']]['cnt'] += $row2['cnt'];
}
echo "$row[mb_nick] {$mb[$row[mb_id]][cnt]}건<br />\n";
}
?>
이렇게 하면 회원별 글작성수가 나오잖아요
이걸 글작성수가 높은 순으로 정렬을 하고 싶은데
멤버테이블이 젤 상위에 있어서 카운터로 정렬이 안되는 거 같습니다.
순서를 변경해도 보고 합쳐보려고도 했지만 안되네요 ㅠㅠ
제발 어케 해야 하는지 좀 알려주세요 .
힌트라도 .. ㅠㅠ
참고로 전체게시물을 이용하여 만들어볼려고 했지만...
전체게시물 테이블은 용량문제로 주기적으로 지워주고 있기 떄문에 회원별 총글작성수가 제대로 나오질 않아 쓸 수가 없네요.
제발 제게 찬란한 빛을 내려주세요 ↖T0T↗
댓글 전체

Loop가 3 개 있는데 순서를 바꾸어도 원하시는 결과는 안 나옵니다.
그리고 subquery가 지원 된다면 좀 효율적인 방법( 게시판 table을 group by mb_id를 먼저
하고 나서 정열 http://kr2.php.net/manual/en/function.sort.php)도 있겠지만,
이 보다 더 좋은 방법은 point처럼 g4_member에 컬럼을 추가해, 이 컬럼에
글 합계를 기록하는 것이 좋아 보입니다.
하여간에 loop를 돌고 나서 $mb를 sort()를 이용해서 정열를 해 주면 원하시는 결과를 얻을 수 있습니다.
그리고 subquery가 지원 된다면 좀 효율적인 방법( 게시판 table을 group by mb_id를 먼저
하고 나서 정열 http://kr2.php.net/manual/en/function.sort.php)도 있겠지만,
이 보다 더 좋은 방법은 point처럼 g4_member에 컬럼을 추가해, 이 컬럼에
글 합계를 기록하는 것이 좋아 보입니다.
하여간에 loop를 돌고 나서 $mb를 sort()를 이용해서 정열를 해 주면 원하시는 결과를 얻을 수 있습니다.
엑스엠엘님 답변 정말정말 감사합니다. 열씨미 해볼께요 ^^