정해진 날짜가 지나면 게시물 안보이기
본문
안녕하세요
회원 정보 mb_4에 날짜를 넣고
지정된 날짜가 넘어가면 게시물이 안나오게 하고 있습니다.
스킨파일에서
<?php
$mb = get_member($list[$i]['mb_id']);
$last_day = $mb['mb_4'];
$dday = $last_day; //이때 까지만 노출
if (G5_TIME_YMD <= $dday) {
?>
내용~~~
이렇게 잘쓰고 잇는데
이건 숨기기만 할뿐 이라서..
아예 db에서 불러올때 부터 거르고 싶습니다.
최신글등 에서는 다 나오더라구요..
bbs/board.php나 extend/user.config.php 에서 변경을 해주면 될것 같긴한데
위의 소스가지고는 잘안되더라구요 ㅠ
고수님들의 도움을 부탁드리겠습니다..ㅠ
답변 5
bbs/list.php
$is_search_bbs= true;
sql_search=" wr_datetiem >= '$last_day' ";
// 이렇게 추가하고 where 조건문 잘 되도록 조정해 보세요.
if ($sca || $stx || $stx === '0') { //검색이면
$is_search_bbs = true; //검색구분변수 true 지정
$sql_search .= " and ". get_sql_search($sca, $sfl, $stx, $sop);
...
} else {
$sql_search = "";
$total_count = $board['bo_count_write'];
/* 전체 게시물 다시 조회 */
}
/bbs/list.php 에 보시면 최초 $list 생성문이 있어요.
여기에 $sql 값 뒤에 조건식을 붙일수 있습니다.
검색 쿼리와 일반쿼리 2개가 있으니 잘 구분하셔서 뒤에 AND 문을 추가하시면됩니다.
날짜 지나고 안보이면 없는 게시물과 마찬가지인데 아예 삭제 되도록
해버리면 안되나요?
공통으로 쓰는 list.php 같은 파일을 건드리지 않는 방법을 알려드리자면
해당날짜가 지나면 mb_4 말고 다른 필드에
함수나 로직을 통해 해당 글이 날짜가 지났는지 아닌지 status값을 저장합니다.
예를 들어 안지났으면 0, 지났으면 1 값을 저장합니다.
그리고 리스트 페이지를 출력할 때, 주소에 검색값을 넘겨서 출력합니다.
/bbs/board.php?bo_table=join_list& |
sop=and |
&sfl=join_mb_id||join_status |
&stx=admin 1 |
검색조건 |
검색할 칼럼을 순서대로 적음 |
검색할 단어를 적음 |
|
and 또는 |
|
검색할 칼럼과 같은 순서로 적음 |
|
or |
||로 구분 |
빈칸으로 구분 |
sfl은 칼럼이름이고 stx는 and로 필터링할 값입니다. 2개 이상일 경우 || 으로 연결합니다.
위 주소를 해석하자면 join_mb가 admin이고, join_status가 1인 값을 출력한다는 이야기 입니다.
list.php 파일을 조작하는 수 밖에는 없는 것 같습니다.($bo_table 에 따라 조건을 걸어 검색코드를 넣어줘야 할 것 같네요)
바로 view 페이지로 올 수 있으니까 view.head.skin.php에서 막는 코드를 넣어야 할 것 같네요