공지사항 최신날짜 순으로 출력 코드 좀 봐주세요.

공지사항 최신날짜 순으로 출력 코드 좀 봐주세요.

QA

공지사항 최신날짜 순으로 출력 코드 좀 봐주세요.

본문

https://sir.kr/qa/267013
onlymilk47님 답글인데요.

 

아래처럼 하면 최신날짜순으로 공지가 나오는데요.
이미지처럼 공지를 지정한 숫자 만큼 상단에 열람중이 표시가 됩니다.
아래의 코드중 뭘 고치면 열람중 표시가 사라질까요?

2943466257_1552984862.6711.jpg

 

 

$arr_notice = explode(',', trim($board['bo_notice']));

/*******************************
$arr_notice  자료를 재정리합니다 
********************************/
$arr_noitce_array=array();
$arr_notice_cnt = count($arr_notice);
if($arr_notice_cnt)
{
    for($i=0;$i<$arr_notice_cnt;$i++){
        $arr_notice_array[]=" wr_id='".$arr_notice[$i]."' ";
    }
    $arr_notice_sql= implode(" OR ",  $arr_notice_array );
    $sql2 = "select wr_id from {$write_table} where ( {$arr_notice_sql} ) order by wr_last desc";
    $result2=sql_query($sql2);
    $i=0;
    while($row2=sql_fetch_array($result2)){
        $arr_notice[$i]=$row2[wr_id];    
        $i++;
    }
}
//==================================

if (!$stx) {
    $from_notice_idx = ($page - 1) * $page_rows;

이 질문에 댓글 쓰기 :

답변 5

 

이렇게 한번 해 보세요.

가능한지 잘 모르겠지만...

질문글에 올료진 팁이나 질문으로 받은 소스를  제거후 

 

$row = sql_fetch(" select * from {$write_table} where wr_id = '{$arr_notice[$k]}'  ");

 

위에 소스를 찾아서 아래 소스로 변경해 보세요.

 

$row = sql_fetch(" select * from {$write_table} where wr_id = '{$arr_notice[$k]}'  order by wr_datatime desc");

실질적으로 열람중 을 출력하는건 list.skin.php같은데요... 해당게시판스킨의 list.skin.php를 보고 열람중 출력 조건을 빼고나서 공지사항이 제글을 출력하는지 확인해봐야할거같습니다

아르키어드님 답글 감사합니다.
list.skin.php 스킨하고는 관계가 없네요.
스킨에서 열람중 부분을 모두 지워도 똑 같고요.
또 저 코드를 넣지 않으면 최신 날짜 순으로 출력은 안되지만 정상작동합니다.

$arr_notice_sql= implode(" OR ",  $arr_notice_array );

or를 and로  한번  바꿔서 확인해 보세요..

$sql2 = "select wr_id from {$write_table} where ( {$arr_notice_sql} ) order by wr_datatime desc";

이렇게 한번 해 보세요.

님 댓글 여러번 감사합니다^^

$i를 $j로 모두 바꾸니 되네요~

 

$arr_noitce_array=array();
$arr_notice_cnt = count($arr_notice);
if($arr_notice_cnt)
{
    for($j=0;$j<$arr_notice_cnt;$j++){
        $arr_notice_array[]=" wr_id='".$arr_notice[$j]."' ";
    }
    $arr_notice_sql= implode(" OR ",  $arr_notice_array );
    $sql2 = "select wr_id from {$write_table} where ( {$arr_notice_sql} ) order by wr_datetime desc";
    $result2=sql_query($sql2);
    $j=0;
    while($row2=sql_fetch_array($result2)){
        $arr_notice[$j]=$row2[wr_id];    
        $j++;
    }
}

 

다른분들 참고하세요~^^

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

회원로그인

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