목록에서 자기것만 보이도록 하고 싶은데

목록에서 자기것만 보이도록 하고 싶은데

QA

목록에서 자기것만 보이도록 하고 싶은데

본문

목록에서 자기것만 보이도록 하고 싶은데요

저는 free게시판 wr_1값에 회원가입시 이름을 따로 불러와서 자동으로 넣는형태입니다.  

 

아래와 같은 '내글만 보기' 버튼을 누르면 

<a href="<?php echo G5_BBS_URL; ?>/board.php?bo_table=free&sca=&sop=and&sfl=wr_1&stx=<?php echo $member['mb_name'] ?>" class="depth3">내글만 보기</a> 

 

free게시판의 

wr_1값이 자신의 회원가입시 이름과 같은값을 가진 게시글만 보이게 까지 했습니다.

 

이경우 

 

목록페이지의 주소에서 /board.php?bo_table=free 뒤로 붙은 조건이 되는 부분을 삭제해서 엔터를 때리거나

목록버튼을 눌러버리면 모든 게시물들이 다 보여 버려서요. 고민입니다.

그렇게 하더라도

자기것만 보이도록 하고 싶은데

리스트스킨에서 조건문을 넣어놓아야 되는건가요?

보다 확실한 방법이 뭐가 있을까요?

 

이 질문에 댓글 쓰기 :

답변 4

list.php 에서 

// 분류 선택 또는 검색어가 있다면
$stx = trim($stx);
if ($sca || $stx) {
    $sql_search = get_sql_search($sca, $sfl, $stx, $sop);

    // 가장 작은 번호를 얻어서 변수에 저장 (하단의 페이징에서 사용)
    $sql = " select MIN(wr_num) as min_wr_num from {$write_table} ";
    $row = sql_fetch($sql);
    $min_spt = (int)$row['min_wr_num'];

    if (!$spt) $spt = $min_spt;

    $sql_search .= " and (wr_num between {$spt} and ({$spt} + {$config['cf_search_part']})) ";

    // 원글만 얻는다. (코멘트의 내용도 검색하기 위함)
    // 라엘님 제안 코드로 대체 http://sir.kr/g5_bug/2922
    $sql = " SELECT COUNT(DISTINCT `wr_parent`) AS `cnt` FROM {$write_table} WHERE {$sql_search} ";
    $row = sql_fetch($sql);
    $total_count = $row['cnt'];
    /*
    $sql = " select distinct wr_parent from {$write_table} where {$sql_search} ";
    $result = sql_query($sql);
    $total_count = sql_num_rows($result);
    */
} else {
    $sql_search = "";

    $total_count = $board['bo_count_write'];
}

 

여기와 아래부분을 처리 하면 될거같은데요

if ($sca || $stx) {

    $sql = " select distinct wr_parent from {$write_table} where {$sql_search} {$sql_order} limit {$from_record}, $page_rows ";
} else {
    $sql = " select * from {$write_table} where wr_is_comment = 0 ";
    if(!empty($notice_array))
        $sql .= " and wr_id not in (".implode(', ', $notice_array).") ";
    $sql .= " {$sql_order} limit {$from_record}, $page_rows ";
}

우선 이름은 중복될 여지가 있으므로

이름 대신 가입(INSERT)시 발급된 DB Field 의 PK 값이 있을겁니다.

그것을 wr_1 에 저장되도록 하는 방법이 나을것 같습니다.

 

목록이동의 경우에도 검색조건을 계속 유지하기 위해

검색 조건이 있을 경우 해당 키=값 이 유실되지 않도록

파라미터 연결을 해주어야 합니다.

(...?검색1=값1&검색2=값2&키=값&검색3=값3...)

아아~ 답변감사드립니다.
예시가 그렇다는거구요. 물론 wr_1값에는 중복이 안되게끔 뭐 아이디나 이런걸로 교체할 거구요. 문제는 조건을 없앴을 경우에 다보이지 않도록 list.skin.php에서 조건문으로 감싸면 될것 같은데 그부분이 시원하게 해결이 안되네요. 물론 관리자는 다 보여야 할 거구요. 그러니 '관리자가 아닌경우에만 이런 조건으로 보여줘라'이런식으로 써야 될듯한데 고수님들의 도움이 절실할 뿐입니다. ^^

우선 관리자 여부는 제 기억으로 $is_admin 이라는 변수에 값이 설정되어 있으면 관리자로 판단하는 것으로 알고 있습니다.
if (empty($is_admin) === true) { ... 작업 ... }
정도가 되지 않을까 싶네요.

$mb의 mb_id과 세션의 아이디를 이용해서 조건을 넣어서 출력하면 되지 않을 듯 싶습니다.

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

회원로그인

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