채택완료

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

2019-03-19 (화) 17:41:49 4,379

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개 / 댓글 4개

채택된 답변
+20 포인트

@열공중

이렇게 한번 해 보세요.

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

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

$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");

답변에 대한 댓글 1개

해봤는데 안되어요;;
참고로 그렇게하면 공지가 풀려버려요;;

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

$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++;
    }
}

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

@열공중

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

이렇게 한번 해 보세요.

답변에 대한 댓글 1개

조민님 wr_last를 wr_datatime 바꾸어야 최신 날짜로 제데로 잘나와요^^
열람중은 그대로에요ㅠㅠ

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

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

답변에 대한 댓글 1개

조민님 댓글 감사합니다.
바꾸면 기본처럼 그냥 글쓴 순서로 출력이됩니다.
최신 날짜 순으로 출력이 안되요.
2019-03-19 (화) 17:45:13

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

답변에 대한 댓글 1개

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

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