테스트 사이트 - 개발 중인 베타 버전입니다

공지사항을 이용해서  wr_4체크된글을 게시판 상단에서 랜덤으로 출력 하게 햇는데 중복으로 출력됩니다. 채택완료

ㅐ늑대ㅐ 6년 전 조회 2,497

공지사항을 이용해서  wr_4체크된글을 게시판 상단에서 랜덤으로 출력 하게 햇는데 중복으로 출력됩니다.

이거를 중복 출력 않할려고 하면은 어떻게 수정하여야 합니까?

 

고수님 도와주세요.

감사합니다.

 

    $sql = " select * from {$write_table} where wr_4 order by rand() ";     $result = sql_query($sql);     for ($k=0; $row = sql_fetch_array($result); $k++) {     if (!$row['wr_id']) continue;          $list_num = $total_count - ($page - 1) * $list_page_rows;     $list[$i]['num'] = $list_num - $k;

         $notice_array[] = $row['wr_id'];          if($k < $from_notice_idx) continue;          $list[$i] = get_list($row, $board, $board_skin_url, G5_IS_MOBILE ? $board['bo_mobile_subject_len'] : $board['bo_subject_len']);     $list[$i]['wr_4'] = true;          $i++;     $notice_count++;          if($notice_count >= $list_page_rows)     break;     }  

 

 

 

고수님 도와주세요 

 

감사합니다.

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

답변 2개

채택된 답변
+20 포인트

$list[$i]['wr_4'] = true; 로 하였다면 밑에 다시 false로 처리하는 부분도 있어야 할거 같고...

저 부분만 봐서는 알기 힘드네요

로그인 후 평가할 수 있습니다

답변에 대한 댓글 2개

ㅐ늑대ㅐ
6년 전
아미나스킨에서 bbs/list.php 파일에서 아래 소스만 추가 햐엿습니다.
false는 어떻게 사용 합니까?

$sql = " select * from {$write_table} where wr_4<>'' order by rand() ";

$result = sql_query($sql);
for ($k=0; $row = sql_fetch_array($result); $k++) {
if (!$row['wr_id']) continue;

$list_num = $total_count - ($page - 1) * $list_page_rows;
$list[$i]['num'] = $list_num - $k;


$notice_array[] = $row['wr_id'];

if($k < $from_notice_idx) continue;

$list[$i] = get_list($row, $board, $board_skin_url, G5_IS_MOBILE ? $board['bo_mobile_subject_len'] : $board['bo_subject_len']);
$list[$i]['wr_4'] = true;

$i++;
$notice_count++;

if($notice_count >= $list_page_rows)
break;
}
홀리스톤
6년 전
false를 어떻게 처리했는지는 기본 list.php에서 $list[$i]['is_notice'] 부분을 참고바랍니다.

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

6년 전

 $sql = " select * from {$write_table} where wr_4<>'' order by rand() ";

 

list.php에서는 wr_4='' <--이렇게 쿼리 조건을 주어야 중복되지않을 것입니다

 

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

ㅐ늑대ㅐ
6년 전
아래처럼 햇는데 않됩니다. 게속 나타 납니다.ㅠㅠ

$sql = " select * from {$write_table} where wr_4<>'' order by rand() ";

$result = sql_query($sql);
for ($k=0; $row = sql_fetch_array($result); $k++) {
if (!$row['wr_id']) continue;

$list_num = $total_count - ($page - 1) * $list_page_rows;
$list[$i]['num'] = $list_num - $k;


$notice_array[] = $row['wr_id'];

if($k < $from_notice_idx) continue;

$list[$i] = get_list($row, $board, $board_skin_url, G5_IS_MOBILE ? $board['bo_mobile_subject_len'] : $board['bo_subject_len']);
$list[$i]['wr_4'] = true;

$i++;
$notice_count++;

if($notice_count >= $list_page_rows)
break;
}

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

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

로그인