카테고리 특정게시물 조언부탁드립니다.
본문
그누보드를 통해 많은걸 배우고 있습니다... php소스나 코드를 잘모르나.. Q/A 자료실등에 있는걸
보면서 나름 짜맞춰가고 있네요...^^
우선 비회원 게시판에라 게시물을 확인할수 있는형태로 가닥을 잡은상태에서
샘플을 비회원(레벨0) / 회원 (레벨2) / 준회원 (레벨3) 이 볼수 있게 나눴습니다.
여분필드 wr_3 체크여부에 따라
특정게시물은 준회원이상 보이게 하고 싶은데 아래소스로는 전체페이지에서는 작동이 되는데.
게시판자체가 갤러리형태라서 카테고리 (ca_name)을 사용하면 관리자도 보이지가 않습니다.
또한 검색을 해도 카테고리처럼 동일하게 체크한 게시물이 보이지가 않습니다.
스킨에 있는 list 파일에 for문에 특정게시물을 안보이게 하려니
안보이는곳은 정렬에서 제외되서 보기가 싫어서요... 고수님들 도움 부탁드립니다.
bbs/list.php를 수정한형태입니다.
// 체크값 등급별 안보이게
if ($sca || $stx) {
$sql = " select distinct wr_parent from {$write_table} where {$sql_search} and wr_3 !='1' {$add_sql} {$sql_order} limit {$from_record}, $page_rows ";
} else if(!$is_admin && $member[mb_level] <=2){ //안보이게
$sql = " select * from {$write_table} where wr_is_comment = 0 and wr_3 !='1' ";
if(!empty($notice_array))
$sql .= " and wr_id not in (".implode(', ', $notice_array).") ";
$sql .= " {$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 ";
}
답변 4
관리자일 때에도 wr_3 !='1' 이 조건을 적용해 버리니 안보입니다
if ($sca || $stx) { 다음에 추가
if(!$is_admin) $add_qry = " and wr_3 !='1' ";
and wr_3 !='1' 변경 --> $add_qry
if ($sca || $stx) {
} else if(!$is_admin && $member[mb_level] <=2){ //안보이게
}else{
}
이런식의 조건문이면 레벨이 2와 같거나 적은 회원은 검색값이 잇어도 조건문이 성립됩니다.
검색에 대한 조건도 맞고 else if에 잇는 조건문도 충족이 되니까
검색말고 else if 의 조건문이 적용될거에요.
else if(!$is_admin && $member[mb_level] <=2) 을
else if((!$is_admin && $member[mb_level] <=2) && (!$sca || !$stx))
이런식으로 바꾸면 될거 같네요
말씀 감사합니다.
말씀주신 소스 적용해보니 해결이 되지않네요..
카테고리상 전체에서는 체크된값의 게시물이 조건에 맞게 표출이 되는데..
게시물이 있는 카테고리를 선택하게 되면 나타나지가 않네요. (검색을 해도 동일합니다.)
카테고리를 사용해야하는데.. 적용이 안되니 정지상태네요.. 좀더 검색좀 해봐야 겠네요.. 감사합니다^^
균이님 덕분에 해결됬네요~
주말 잘보내시구요. 도움말씀주신 모든분들 감사합니다.^^