테스트 사이트 - 개발 중인 베타 버전입니다

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

지솩 6년 전 조회 2,186

 

 

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

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

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

댓글을 작성하려면 로그인이 필요합니다.

답변 2개

채택된 답변
+20 포인트
세크티
6년 전
/*
 * $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;
} 
로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

s
sinbi
6년 전
적어주신 코드로 테스트해봤는데, 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']);

댓글을 작성하려면 로그인이 필요합니다.

6년 전

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

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

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

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

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

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

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

 좋은 하루되세요 

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

쑤닝
6년 전
여기서 해당 테이블 명이란... 특정 게시판을 뜻하는겁니다...
혹시 제 설명이 부족할까 하여..

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인