채택완료

공지글 num 나오게 변경

2019-09-04 (수) 14:39:12 3,217

공지사항 게시판은 아니고..

일반 게시판인데..

공지글로 체크하여 등록하니 앞에 글번호가 안나오고 공지아이콘만 나오는데..

글번호로 나오게 하고 싶으면 어떻게 해야할까요?ㅠㅠ

다른 글 찾아보니 bbs/list에 

$list_num = $total_count - ($page - 1) * $list_page_rows;
$list[$i]['num'] = $list_num - $k;
소스 추가하라는데..해봐도 적용이 안되더라구요ㅠ

아니면 이렇게 스킨에서 요 소스 수정하여 넣는게 편할까요?

<td class="td_num2">
            <?php
            if ($list[$i]['is_notice']) // 공지사항
                echo '<strong class="notice_icon"><i class="fa fa-bullhorn" aria-hidden="true"></i><span class="sound_only">공지</span></strong>';
            else if ($wr_id == $list[$i]['wr_id'])
                echo "<span class=\"bo_current\">열람중</span>";
            else
                echo $list[$i]['num'];
             ?>
            </td>

어떻게 해야할까요?

모든 공지글에 적용해도 상관없는데..아시는 분 계시면 알려주세요ㅠㅠㅠ

|

답변 3개 / 댓글 9개

채택된 답변
+20 포인트

해당 글번호는 $list[$i]['wr_id']; // 글 저장시 부여받는 해당 게시물 번호 

해당 글번호의 가상번호는 $list[$i]['num']; // 리스트에서 10, 9 ,8 ,7 ,6 ,5, 4, 3,, 2, 1 이렇게 나열되는 번호

답변에 대한 댓글 1개

2019-09-04 (수) 17:06:09
답변 감사합니다~
$list[$i]['num'];을 $list[$i]['wr_id']; 로 변경하니 글번호가 8,9,10 순서로 나오는데..1부터 나오게 할수는 없을까요? 이게 전에 테스트해서 지운 글들 때문에 그런거같은뎅..ㅠㅠ
스킨에 이렇게 넣었어요
<td class="td_num2">
<?php
if ($list[$i]['is_notice']) // 공지사항
echo $list[$i]['wr_id'];
else if ($wr_id == $list[$i]['wr_id'])
echo "<span class=\"bo_current\">열람중</span>";
else
echo $list[$i]['wr_id'];
?>
</td>

@초보초보초보초보 

사용중인 게시판 스킨폴더 > list.skin.php  파일 소스중.....

for($i=0; $i<count($list); $i++) {

위에 소스밑으로 아래 소스를 더 추가해 보세요.

$list_n=($page>1) ? $total_count-(($page-1)*$board['bo_page_rows'])-$i : $total_count-$i;

그리고

echo '<strong class="notice_icon"><i class="fa fa-bullhorn" aria-hidden="true"></i><span class="sound_only">공지</span></strong>';

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

echo $list_n;

답변에 대한 댓글 1개

2019-09-04 (수) 18:28:09
우와아아아 수정되었어요^^ 1,2,3으로 표시되네요~ 감사합니다^^

echo '<strong class="notice_icon"><i class="fa fa-bullhorn" aria-hidden="true"></i><span class="sound_only">공지</span></strong>';

얘가 공지아이콘 뿌려주는 부분같은데 여기를

echo $list[$i]['num'];

이렇게 바꿔주란 말인가요?

답변에 대한 댓글 7개

2019-09-04 (수) 14:47:00
그렇게도 변경해보았는데..빈칸으로 나와요ㅠㅠ
<?php
$list_num = $total_count - ($page - 1) * $list_page_rows;
$list[$i]['num'] = $list_num - $k;

if ($list[$i]['is_notice']) // 공지사항
echo $list[$i]['num'];
else if ($wr_id == $list[$i]['wr_id'])
echo "<span class=\"bo_current\">열람중</span>";
else
echo $list[$i]['num'];
?>

어..적어주신 내용은 이렇게 하라는거같은데 이렇게 하면 나오나요?ㄷㄷ;
2019-09-04 (수) 14:54:58
알려주신데로 하니 나오긴 하는데..글 갯수로 나오는거 같아요. 한개 글 있을땐 1로 나오더니 글 하나 더 작성하니 둘다 2로 변경되었어요ㅠ
bbs/list에 요거 들어가는 부분에 for문이 같이 있는데..
// 공지 처리
if (!$is_search_bbs) {
$arr_notice = explode(',', trim($board['bo_notice']));
$from_notice_idx = ($page - 1) * $page_rows;
if($from_notice_idx < 0)
$from_notice_idx = 0;
$board_notice_count = count($arr_notice);

for ($k=0; $k<$board_notice_count; $k++) {
if (trim($arr_notice[$k]) == '') continue;
$list_num = $total_count - ($page - 1) * $list_page_rows;
$list[$i]['num'] = $list_num - $k;


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

if (!$row['wr_id']) continue;

$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]['is_notice'] = true;

$i++;
$notice_count++;

if($notice_count >= $list_page_rows)
break;
}
}
이렇게 되어있거든요~
뭔가 조금만 바꿔주면 될거같은데..제가 초보여서 잘 몰라서ㅠ
수정 해주실 수 있을까요?
적어주신 내용이 부분적이라서..음...보시면 $k가 어떤 값인지를 모르겠어서..

음..그럼

echo $list_num--; 이렇게 해보실래요?

그러면 최대값에서 1씩 감소해서 보여주긴할거같긴한데..

궁금한점이 이렇게 하실거면 굳이 공지를 체크하실 필요가 있나요?
2019-09-04 (수) 17:04:37
어디에 이부분을 넣어야할까요?ㅠㅠ제가 초보라ㅠㅠ어렵네요
<?php
$list_num = $total_count - ($page - 1) * $list_page_rows;
$list[$i]['num'] = $list_num - $k;

if ($list[$i]['is_notice']) // 공지사항
echo $list_num--;
else if ($wr_id == $list[$i]['wr_id'])
echo "<span class=\"bo_current\">열람중</span>";
else
echo $list_num--;
?>

이렇게 변경해보라는 건데 어떻게 될지는 잘모르겠네요

위 내용을 어디서 보신거에요? 앞내용을 모르니..

저도 공지를 넘버링하는건 안해봐가지고..

공지를 꼭 쓰셔야하나요?
2019-09-04 (수) 18:29:43
공지를 썼던 이유가ㅠㅠㅠ모든 게시판이 글쓴 본인과 해당게시판 관리자만 글을 볼수 있게 되는 방식이라서요~ 공지로 하니 모든 사람들이 다 볼 수 있더라구요~ 간단하게 해결하려고 그렇게 했었어요^^ 답변 너무너무 감사합니당~ 해결하였어용ㅎㅎ

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