공지사항 에러에 관해서입니다...ㅜㅜ

공지사항 에러에 관해서입니다...ㅜㅜ

QA

공지사항 에러에 관해서입니다...ㅜㅜ

본문

현재 홈페이지에 공지사항이 엄청 많이 적혀있는 관계로

 

http://sir.co.kr/g4_tiptech/24755?sfl=wr_subject%7C%7Cwr_content&stx=%EA%B3%B5%EC%A7%80%EC%82%AC%ED%95%AD+%EC%A4%91%EB%B3%B5&page=3

 

이걸 참고해서 공지사항 중복출력은 어찌저찌햇는데...

 

Deprecated: Function split() is deprecated in /host/~~/bbs/list.php on line 5

 

이에러가 나오더라구요...

궁금한점은

1. 저 에러는 어떻게 해서 없애나...

2. 공지사항이 30개면 30개가 전부 1페이지에 나오는데 목록 나타내기 15개에 따라 공지사항 또한 이후 페이지로 넘어가서 출력이 되는건 어떻게 해야될까요ㅠㅠ 도저히 안찾아지네요

 

현재 소스는 어딜 올려야될지몰라서 전부올립니다ㅠㅠ

도와주세요ㅠㅠ

 

<?

 

// 공지사항의 갯수를 구함[2008-02-03]
$bo_notics_cnt = count(split("\n", trim($board[bo_notice])));     << 이부분이 에러문제입니다.ㅠ.ㅠ
// 만약 내용이 없으면 카운트는 0으로 한다...[2008-04-29]
if(trim($board[bo_notice]) == "") $bo_notics_cnt = 0;

// 분류 사용 여부
$is_category = false;
if ($board[bo_use_category])
{
    $is_category = true;
    $category_location = "./board.php?bo_table=$bo_table&sca=";
    $category_option = get_category_option($bo_table); // SELECT OPTION 태그로 넘겨받음
}

$sop = strtolower($sop);
if ($sop != "and" && $sop != "or")
    $sop = "and";

// 분류 선택 또는 검색어가 있다면
$stx = trim($stx);
if ($sca || $stx)
{
    $sql_search = get_sql_search($sca, $sfl, $stx, $sop);

    // 가장 작은 번호를 얻어서 변수에 저장 (하단의 페이징에서 사용)
    $sql = " select MIN(wr_num) as min_wr_num from $write_table ";
    $row = sql_fetch($sql);
    $min_spt = $row[min_wr_num];

    if (!$spt) $spt = $min_spt;

    $sql_search .= " and (wr_num between '".$spt."' and '".($spt + $config[cf_search_part])."') ";

    // 원글만 얻는다. (코멘트의 내용도 검색하기 위함)
    $sql = " select distinct wr_parent from $write_table where $sql_search ";
    $result = sql_query($sql, false);
    $total_count = @mysql_num_rows($result);
}
else
{
    $sql_search = "";/*
 //-------------------------추가함
      $notice_cnt=0;
      $arr_notice = array();
      $arr_notice = explode("\n", trim($board[bo_notice]));
      $notice_idStr = implode(",",  $arr_notice);
      if($notice_idStr ){
     $notice_cnt= count($arr_notice);
     $no_notice_qry= " and wr_id not IN($notice_idStr) ";
      }

    $total_count = $board[bo_count_write] - $notice_cnt;
    //-----여기까지 추가 수정 */
    $total_count = $board[bo_count_write];
}

$total_page  = ceil($total_count / $board[bo_page_rows]);  // 전체 페이지 계산

//분류선택시 전체페이지에서 공지사항의 갯수만큼 빼줌.[2008-02-03]
if($min_spt)
 {
 $total_page  = ceil($total_count / $board[bo_page_rows]);
 }else{
 $total_page  = ceil(($total_count - $bo_notics_cnt) / $board[bo_page_rows]);
 }

if (!$page) { $page = 1; } // 페이지가 없으면 첫 페이지 (1 페이지)
$from_record = ($page - 1) * $board[bo_page_rows]; // 시작 열을 구함

// 관리자라면 CheckBox 보임
$is_checkbox = false;
if ($member[mb_id] && ($is_admin == "super" || $group[gr_admin] == $member[mb_id] || $board[bo_admin] == $member[mb_id]))
    $is_checkbox = true;

// 정렬에 사용하는 QUERY_STRING
$qstr2 = "bo_table=$bo_table&sop=$sop";

if ($board[bo_gallery_cols])
    $td_width = (int)(100 / $board[bo_gallery_cols]);

// 정렬
// 인덱스 필드가 아니면 정렬에 사용하지 않음
//if (!$sst || ($sst && !(strstr($sst, 'wr_id') || strstr($sst, "wr_datetime")))) {
if (!$sst)
{
    if ($board[bo_sort_field])
        $sst = $board[bo_sort_field];
    else
        $sst  = "wr_num, wr_reply";
    $sod = "";
}
else {
    // 게시물 리스트의 정렬 대상 필드가 아니라면 공백으로 (nasca 님 09.06.16)
    // 리스트에서 다른 필드로 정렬을 하려면 아래의 코드에 해당 필드를 추가하세요.
    // $sst = preg_match("/^(wr_subject|wr_datetime|wr_hit|wr_good|wr_nogood)$/i", $sst) ? $sst : "";
    $sst = preg_match("/^(wr_datetime|wr_hit|wr_good|wr_nogood)$/i", $sst) ? $sst : "";
}

if ($sst)
    $sql_order = " order by $sst $sod ";

$list = array();
$i = 0;

if (!$sca && !$stx)
{
    $arr_notice = explode("\n", trim($board[bo_notice]));
    for ($k=0; $k<count($arr_notice); $k++)
    {
        if (trim($arr_notice[$k])=='') continue;

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

        if (!$row[wr_id]) continue;

        $list[$i] = get_list($row, $board, $board_skin_path, $board[bo_subject_len]);
        $list[$i][is_notice] = true;
  $notice_order .= " and wr_id != '$arr_notice[$k]'"; //[2008-02-03] 추가
        $i++;
    }
}

if ($sca || $stx)
{
    $sql = " select distinct wr_parent from $write_table where $sql_search $sql_order limit $from_record, $board[bo_page_rows] ";
}
else
{
    $sql = " select * from $write_table where wr_is_comment = 0 $notice_order $sql_order limit $from_record, $board[bo_page_rows] "; // $notice_order 추가[2008-02-03]
}
$result = sql_query($sql);

// 년도 2자리
$today2 = $g4[time_ymd];
$k = 0;

while ($row = sql_fetch_array($result))
{
    // 검색일 경우 wr_id만 얻었으므로 다시 한행을 얻는다
    if ($sca || $stx)
        $row = sql_fetch(" select * from $write_table where wr_id = '$row[wr_parent]' ");

    $list[$i] = get_list($row, $board, $board_skin_path, $board[bo_subject_len]);
    if (strstr($sfl, "subject"))
        $list[$i][subject] = search_font($stx, $list[$i][subject]);
    $list[$i][is_notice] = false;
    //$list[$i][num] = number_format($total_count - ($page - 1) * $board[bo_page_rows] - $k);
    $list[$i][num] = $total_count - ($page - 1) * $board[bo_page_rows] - $k;
//공지사항이 있을경우 총 게시물에서 수량을 빼서 번호를 맞춤. 분류선택시 번호조절 [2008-02-07] ' - $bo_notics_cnt' 추가 및 수정
  if($board[bo_notice])
   {
   if ($min_spt)
    {
    $list[$i][num] = $total_count - ($page - 1) * $board[bo_page_rows] - $k;
    }else{
     $list[$i][num] = $total_count - ($page - 1) * $board[bo_page_rows] - $k - $bo_notics_cnt;
    }
   }else{
    $list[$i][num] = $total_count - ($page - 1) * $board[bo_page_rows] - $k;
   }
    $i++;
    $k++;
}

$write_pages = get_paging($config[cf_write_pages], $page, $total_page, "./board.php?bo_table=$bo_table".$qstr."&page=");

$list_href = '';
$prev_part_href = '';
$next_part_href = '';
if ($sca || $stx)
{
    $list_href = "./board.php?bo_table=$bo_table";

    //if ($prev_spt >= $min_spt)
    $prev_spt = $spt - $config[cf_search_part];
    if (isset($min_spt) && $prev_spt >= $min_spt)
        $prev_part_href = "./board.php?bo_table=$bo_table".$qstr."&spt=$prev_spt&page=1";

    $next_spt = $spt + $config[cf_search_part];
    if ($next_spt < 0)
        $next_part_href = "./board.php?bo_table=$bo_table".$qstr."&spt=$next_spt&page=1";
}

$write_href = "";
if ($member[mb_level] >= $board[bo_write_level])
    $write_href = "./write.php?bo_table=$bo_table";

$nobr_begin = $nobr_end = "";
if (preg_match("/gecko|firefox/i", $_SERVER['HTTP_USER_AGENT'])) {
    $nobr_begin = "<nobr style='display:block; overflow:hidden;'>";
    $nobr_end   = "</nobr>";
}

// RSS 보기 사용에 체크가 되어 있어야 RSS 보기 가능 061106
$rss_href = "";
if ($board[bo_use_rss_view])
    $rss_href = "./rss.php?bo_table=$bo_table";

$stx = get_text(stripslashes($stx));
include_once("$board_skin_path/list.skin.php");
?>
​ 

이 질문에 댓글 쓰기 :

답변 2

$bo_notics_cnt = count(split("\n", trim($board[bo_notice])));

 

split는 php 5.3 이후부터 삭제된 함수입니다.

split 부분을 explode 로 변경하세요. 

 

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

회원로그인

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