특정회원의 특정그룹에 올린 게시글의 총 합계

특정회원의 특정그룹에 올린 게시글의 총 합계

QA

특정회원의 특정그룹에 올린 게시글의 총 합계

본문

<?php
$sql = " select sum(bo_count_write) as sum_count from {$g5['board_table']} where gr_id = 'free'";
$row = sql_fetch($sql);
echo $row['sum_count'];
?> 

 

이곳에서 위와 같이 도움을 얻었는데 특정게시판의 전체 게시글수의 합은 잘 나옵니다.

여기서 "특정회원" 이라는 조건을 추가 하고 싶어서 mb_id='admin' 이라고 넣었는데 오류가 납니다.

어떻게 수정을 해야 하는지 궁금합니다.

이 질문에 댓글 쓰기 :

답변 2

/*
 * $gr_id : 특정그룹 아이디
 * $mb_id : 특정회원 아이디
 */
function get_specific_groups_members_article_count($gr_id,$mb_id){

    $temp_article_count = 0;
    $sql = "select bo_table from g5_board where gr_id = '{$gr_id}'";
    $result = sql_query($sql);
    while ($row = sql_fetch_array($result)){
        $get_count = sql_fetch("select count(wr_id) as cnt from g5_write_{$row['bo_table']} where  wr_is_comment = 0 and mb_id='{$mb_id}'",true);
        $temp_article_count+=$get_count['cnt'];
    }
    return $temp_article_count;
} 

적어주신 코드로 테스트해봤는데, 0이 찍히네요.
제가 봐도 특별히 코드에 이상이 없어보이는뎅..

function group_member_wr_count($gr_id,$mb_id){
    $wr_cnt = 0;
    $sql = "SELECT bo_table FROM {$g5['board_table']} WHERE gr_id = '{$gr_id}'";
    $result = sql_query($sql);
    while ($row = sql_fetch_array($result)){
$sql = "SELECT COUNT(wr_id) AS cnt FROM {$g5['write_prefix']}{$row['bo_table']} WHERE  wr_is_comment = 0 AND mb_id='{$mb_id}'"; <---- 이 부분이 수상한 듯..
        $wr = sql_fetch($sql);
        $wr_cnt += $wr['cnt'];
    }
    return $wr_cnt;
}
echo '개수: '.group_member_wr_count($gr_id,$member['mb_id']);

g5['board_table'] 란 g5_board 테이블을 가르키고 있습니다.

쿼리를 echo 로 확인해보시면 알 수 있으실것 같고

특정 사용자가 작성한ㅇ 게시글을 확인해보시려면

 SELECT count(wr_id) FROM 해당테이블명 WHERE mb_id ='특정사용자' 

 로 확인해보실 수 있습니다.

쿼리문에 문제가 있을때는 일단 쿼리문 출력을 통해 문제를 확인해보시고, 오류 메세지 확인도

 해보시는게 좋을 것 같습니다 !

 좋은 하루되세요 

답변을 작성하시기 전에 로그인 해주세요.
전체 126
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT