스크랩 하면 목록서 안보이기
본문
스크랩 하고나면 목록에서 그글을 안보이게 할수있나요?
순간적으로 사라지는거 말고
기본 스크랩 절차 후 다른글 보면
스크랩했던 글은 목록에선 안보이고
스크랩 함 가면 보이게 하려고 하는데요
조건문줘서
글을 안보이게 하러면 어떻게 코딩해야될까요?
도움 부탁드립니다
순간적으로 사라지는거 말고
기본 스크랩 절차 후 다른글 보면
스크랩했던 글은 목록에선 안보이고
스크랩 함 가면 보이게 하려고 하는데요
조건문줘서
글을 안보이게 하러면 어떻게 코딩해야될까요?
도움 부탁드립니다
답변 3
/extend 폴더에 이름 아무렇게나 임의의 파일 만드시구요.
<?php
if (!defined('_GNUBOARD_')) exit;
if( $board['bo_table'] == "스크랩한 글은 목록에서 빼려는 게시판 bo_table" && $member['mb_id'] ) {
$sql = "select wr_id from {$g5['scrap_table']} where mb_id = '{$member['mb_id']}' and bo_table = '$bo_table' ";
$result = sql_query($sql);
$wr_ids = array();
while( $tmp = sql_fetch_array($result) ) {
$wr_ids[] = $tmp['wr_id'];
}
$wr_ids_str = implode(",", $wr_ids);
$write_table = "(select * from $write_table where wr_id not in ($wr_ids_str) )"
}
?>
주의사항 원본파일 수정 안하려고 이렇게 하긴했는데 서브쿼리를 쓰는것이라 속도가 많이 느려질수 있습니다.
성능 우선시 하려면 /bbs/list.php /lib/common.lib.php 두개 파일을 직접 수정해야합니다.
!-->일단 해당 사용자가 스크랩만 글을 읽어오는 쿼리를 만드시고
검색 기본에 그 wr_id를 읽어오지 않게 만드시면 됩니다.
where wr_idx not in (1,2)
이런식으로 조건을 주시면 됩니다. 1,2는 처음에 말씀 드린대로 스크랩을 읽어오는 쿼리에서 wr_id를 가지고 오시면 됩니다.
/bbs/list.php
보면 // 분류 선택 또는 검색어가 있다면 주석이 있는데
이 위에서 스크랩만 글을 가지고 오시고
검색어가 있을때 없을때 $sql_search 만드는 변수명을 수정해주시면 됩니다.
15줄에 ; 를 빼먹었었네요 ㅠ
$write_table = "(select * from $write_table where wr_id not in ($wr_ids_str) ) a ";
답변을 작성하시기 전에 로그인 해주세요.