채택완료

스크랩 하면 목록서 안보이기

2017-01-14 (토) 22:06:19 4,507
스크랩 하고나면 목록에서 그글을 안보이게 할수있나요?
순간적으로 사라지는거 말고
기본 스크랩 절차 후 다른글 보면
스크랩했던 글은 목록에선 안보이고
스크랩 함 가면 보이게 하려고 하는데요
조건문줘서
글을 안보이게 하러면 어떻게 코딩해야될까요?
도움 부탁드립니다
|

답변 3개 / 댓글 2개

채택된 답변
+20 포인트

/extend 폴더에 이름 아무렇게나 임의의 파일 만드시구요.

Copy
<?phpif (!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 두개 파일을 직접 수정해야합니다.

답변에 대한 댓글 1개

답변 감사합니다 근데 파일이름 아무렇게나 만들고
"스크랩한 글은 목록에서 빼려는 게시판 bo_table "
이글귀 대신에 테이블이름 넣었는데
아예 싸이트자체가 열리지가 않네요 ㅜㅜㅜ
테스트도 못해보고 아깝네요 추가답변좀 부탁할게요

15줄에 ; 를 빼먹었었네요 ㅠ

Copy
$write_table = "(select * from $write_table where wr_id not in ($wr_ids_str) ) a ";

답변에 대한 댓글 1개

여러가지로 제가 추가수정해야될게 많은것 같네요 글이 많이 사라지네요 ㅜㅜ
답변 감사합니다 그냥 하단고정에 도전을
2017-01-14 (토) 22:44:34

일단 해당 사용자가 스크랩만 글을 읽어오는 쿼리를 만드시고 

검색 기본에 그 wr_id를 읽어오지 않게 만드시면 됩니다.

where wr_idx not in (1,2)

이런식으로 조건을 주시면 됩니다. 1,2는 처음에 말씀 드린대로 스크랩을 읽어오는 쿼리에서 wr_id를 가지고 오시면 됩니다.

/bbs/list.php 

보면 // 분류 선택 또는 검색어가 있다면 주석이 있는데

이 위에서 스크랩만 글을 가지고 오시고 

검색어가 있을때 없을때 $sql_search 만드는 변수명을 수정해주시면 됩니다.

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