게시물 카운트좀 도와주세요 ㅠㅠ > 그누4 질문답변

그누4 질문답변

그누보드4 관련 질문은 QA 로 이전됩니다. QA 그누보드4 바로가기
기존 게시물은 열람만 가능합니다.

게시물 카운트좀 도와주세요 ㅠㅠ 정보

게시물 카운트좀 도와주세요 ㅠㅠ

본문

<? $k=0;
    for ($i=0; $i<count($list); $i++) {
    if (($list[$i][mb_id] == $member[mb_id]) || $is_admin){ $k++
?>

<tr>
    <td>
<? echo "{$list[$k][num]}";?>
    </td>
</tr>
...
...
...
<? } ?>
<? } ?>

이렇게 해서 for 문이 게시물을 읽어와서
                if  문이 글작성자와 로그인한 회원이 일치할경우 카운트를 다시하여
echo "{$list[$k][num]}"를 출력하고자 합니다.

그런데 카운트가 잘안되네요 ㅠㅠ 잘못된점 지적 부탁드립니다. ㅠㅠ
  • 복사

댓글 전체

아넵 ㅠㅠ

아래 소스인데요 전체게시물이 나오는데

로그인한 회원의 게시물만 나오게 하여 페이지 처리하려다 보니 너무 어렵습니다 ㅠㅠ

한번 봐주시면 감사하겠습니다. (__)



<?
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가

function get_bo_n_option($bo_n='')
{
    global $g4, $board;

    $arr = explode("|", $board[$bo_n]); // 구분자가 | 로 되어 있음
    $str = "";
    for ($i=0; $i<count($arr); $i++)
        if (trim($arr[$i]))
            $str .= "<option value='$arr[$i]'>$arr[$i]</option>\n";

    return $str;
}

// 분류 사용 여부  list.php에서 참조 (카테고리가 없는 경우에는 이것은 절대 비활성화)
if ($is_category = true) {
    $bo_3_option = get_bo_n_option('bo_3'); // SELECT OPTION 태그로 넘겨받음
    $bo_4_option = get_bo_n_option('bo_4'); // SELECT OPTION 태그로 넘겨받음
    $bo_5_option = get_bo_n_option('bo_5'); // SELECT OPTION 태그로 넘겨받음
    $bo_6_option = get_bo_n_option('bo_6'); // SELECT OPTION 태그로 넘겨받음
}

// 선택옵션으로 인해 셀합치기가 가변적으로 변함
$colspan = 10; // 변경 JSY
if ($is_category) $colspan++;
if ($is_checkbox) $colspan++;
if ($is_good)   $colspan++;
if ($is_nogood)  $colspan++;

?>

<!-- 게시판 목록 시작 -->
<table width="<?=$width?>" align=center cellpadding=0 cellspacing=0><tr><td>

<!-- 분류 셀렉트 박스, 게시물 몇건, 관리자화면 링크 -->
<table border="0" width="100%" cellspacing="0" cellpadding="0">
<tr height="25">
<td align="left">
    <form name=fsearch method=get>
  <a href="<?=$g4[path]?>/bbs/board.php?bo_table=<?=$bo_table?>&sop=and&sst=wr_subject&sod=desc&sfl=&stx=&page=1"><font color=green><b>전체보기</b></font></a>
    <input type=hidden name=bo_table value="<?=$bo_table?>">
    <input type=hidden name=sca      value="<?=$sca?>">
        <select name=sfl>
            <option value='wr_subject'>시행일자</option>
            <option value='wr_10'>기록일자</option>
          <option value='wr_content'>상세내용</option>
            <option value='wr_2'>헌금자</option>
            <option value='wr_3'>수입항</option>
            <option value='wr_4'>수입목</option>
    <option value='wr_5'>지출항</option>
        <option value='wr_6'>지출목</option>
<option value='ca_name||wr_subject'>구분및년월</option>
        </select>
        <input size=20 name=stx itemname="검색어" required value="<?=$stx?>">
        <select name=sop>
            <option value=or>Or</option>
            <option value=and>And</option>
        </select>
        <input type=image src='<?="$board_skin_path/img/search.gif"?>' border=0 title='검색' align=absmiddle>
</td>
    </form>
<? // JSY ADD END ?>

    <td align="right">
<a href="#" onClick="javascript:window.open('<?=$board_skin_path?>/no_ok.php?bo_table=<?=$bo_table?>','pop','width=800,height=768,left=0,top=0,scrollbars=yes,resizable=yes,toolbar=no,menubar=no,location=no,location=no,status=no')" onFocus=blur()><font color=green>+ 미결재내역</font></a>
&nbsp;
<a href="#" onClick="javascript:window.open('<?=$board_skin_path?>/fr_and_to_date.php?bo_table=<?=$bo_table?>','pop','width=800,height=768,left=0,top=0,scrollbars=yes,resizable=yes,toolbar=no,menubar=no,location=no,location=no,status=no')" onFocus=blur()><font color=green>+ 기간별 검색</font></a>&nbsp;&nbsp;
        건수 : <?=number_format($total_count)?>
        <? /* if ($rss_href) { ?><a href='<?=$rss_href?>'><img src='<?=$board_skin_path?>/img/btn_rss.gif' border=0 align=absmiddle></a><?}?> */?>
        <? if ($admin_href) { ?><a href="<?=$admin_href?>"><img src="<?=$board_skin_path?>/img/admin_button.gif" title="관리자" width="63" height="22" border="0" align="absmiddle"></a><?}?></td>
</tr>
<tr><td height=5></td></tr>
</table>

<!-- 제목 -->
<form name="fboardlist" method="post" style="margin:0px;">
<input type='hidden' name='bo_table' value='<?=$bo_table?>'>
<input type='hidden' name='sfl'  value='<?=$sfl?>'>
<input type='hidden' name='stx'  value='<?=$stx?>'>
<input type='hidden' name='spt'  value='<?=$spt?>'>
<input type='hidden' name='page' value='<?=$page?>'>
<input type='hidden' name='sw'  value=''>
<table width=100% cellpadding=0 cellspacing=0>
<tr><td colspan=<?=$colspan?> height=2 bgcolor=#7D6400></td></tr>
<tr bgcolor=#FFC300 height=30 align=center>
    <td width=45>번호</td>
    <? if ($is_category) { ?><td width=50><?=subject_sort_link('ca_name', $qstr2)?>분류</td><?}?>
    <? if ($is_checkbox) { ?><td width=30><INPUT onclick="if (this.checked) all_checked(true); else all_checked(false);" type=checkbox></td><?}?>
<td width=60 align=center>
<?=subject_sort_link('wr_subject', $qstr2)?>일 자
</td>
    <td width=75>
<?=subject_sort_link('wr_2', $qstr2)?>헌금자
</td>
    <td width=75>
<?=subject_sort_link('wr_3', $qstr2)?>수입항
</td>
    <td width=75>
<?=subject_sort_link('wr_4', $qstr2)?>수입목
</td>
<td width=75> <? // 구분체크해서 수입만 ?>
<font color=blue>수입금액</font></a>
</td>
<td width=75> <? // 구분체크해서 지출만 ?>
        <font color=red >지출금액</font></a>
    </td>

    <td width=70>
<?=subject_sort_link('wr_6', $qstr2)?>지출목
</td>
    <td width=70>
<?=subject_sort_link('wr_5', $qstr2)?>지출항
</td>
    <td width=70>
        기록일
    </td>

</tr>
<tr><td colspan=<?=$colspan?> height=1 bgcolor=#7D6400></td></tr>

<!-- 목록 -->

<? // for ($i=0; $i<count($list); $i++) { ?> // 원래 이렇게 되어 있었습니다. 그걸 아래 3줄로 변환중...

<? $k=0;
for ($i=0; $i<count($list); $i++) {
    if (($list[$i][mb_id] == $member[mb_id]) || $is_admin){ $k++ ?>

<tr height=28 align=center>
    <td>
        <?
        if ($list[$i][is_notice]) // 공지사항
            echo "<img src=\"$board_skin_path/img/notice_icon.gif\" width=30 height=16>";
        else if ($wr_id == $list[$i][wr_id]) // 현재위치
            echo "<font color='#2C8CB9'><strong>{$list[$i][num]}</strong>";
        else
            echo "{$list[$k][num]}";
        ?></td>
    <? if ($is_category) { ?><td><a href="<?=$list[$i][ca_name_href]?>"><font color=gray><span class=small><?=$list[$i][ca_name]?></span></font></a></td><? } ?>
    <? if ($is_checkbox) { ?><td><input type=checkbox name=chk_wr_id[] value="<?=$list[$i][wr_id]?>"></td><? } ?>

  <?  // wr_subject 00000000 날짜를 년월일만 취해서 000000으로 표시

    $list_s[$i][wr_subject] = substr($list[$i][wr_subject],2,6);
    $list_year[$i][wr_subject]  = substr($list[$i][wr_subject],0,4); // 00년
    $list_month[$i][wr_subject] = substr($list[$i][wr_subject],4,2); // 00월

  ?>
    <td align=left style='word-break:break-all;'>
        <?
        echo "<a href='{$list[$i][href]}'>";
        if ($list[$i][is_notice])
            echo "<font color='#333333'><strong>{$list[$i][wr_subject]}</strong></font>";
        else
        {
            $style1 = $style2 = "";
            // 최신글은 검정
            //if ($list[$i][icon_new]) $style1 = "color:#222222;";
            // 코멘트 없는것만 굵게
            //if (!$list[$i][comment_cnt]) $style2 = "color:#268800;";
            echo "<span style='$style1 $style2'>{$list[$i][wr_subject]}</span>";
        }
        echo "</a>";
        ?></td>

    <td align=left><?=$list[$i][wr_2]?></td>
    <td align=left><?=$list[$i][wr_3]?></td>
    <td align=left><?=$list[$i][wr_4]?></td>

  <? if ($list[$i][ca_name] == '수입') { ?>
    <td align=right><font color=blue><?=$list[$i][wr_1]?></font></td>
    <td align=right style='padding-right:15;'><font color=CCCCCC>0</font></td>
<? } ?>
    <? if ($list[$i][ca_name] == '지출') { ?>
      <td align=right><font color=CCCCCC>0</font></td>
      <td align=right style='padding-right:15;'><font color=red><?=$list[$i][wr_1]?></font></td>
    <? } ?>
    <td align=left><?=$list[$i][wr_6]?></td>
    <td align=left><?=$list[$i][wr_5]?></td>

    <td><font color=green><?=$list[$i][wr_10]?></font></td>

    <?  // 검색내역총계(페이지합)
        if ($list[$i][ca_name] == "수입") {
                $sub_suip1 += $list[$i][wr_1];
        }
        if ($list[$i][ca_name] == "지출") {
                $sub_jich1 += $list[$i][wr_1];
        }
            $sub_sum_total1 = $sub_suip1 - $sub_jich1;
            $sub_sum_total2 = $sub_suip2 - $sub_jich2;
    ?>

</tr>
<tr><td colspan=<?=$colspan?> height=1 bgcolor=#FDF0C4></td></tr>
<?}?>
<?}?>

<? if (count($list) == 0) { echo "<tr><td colspan='$colspan' height=100 align=center>게시물이 없습니다.</td></tr>"; } ?>
<tr><td colspan=<?=$colspan?> bgcolor=#7D6400 height=1>
</table>
</form>

<!-- 페이지 -->
<table width="100%" cellspacing="0" cellpadding="0">
<tr>
    <td width="100%" align="center" height=30 valign=bottom>
        <? if ($prev_part_href) { echo "<a href='$prev_part_href'><img src='$board_skin_path/img/btn_search_prev.gif' border=0 align=absmiddle title='이전검색'></a>"; } ?>
        <?
        // 기본으로 넘어오는 페이지를 아래와 같이 변환하여 이미지로도 출력할 수 있습니다.
        // echo $write_pages;
        $write_pages = str_replace("처음", "<img src='$board_skin_path/img/begin.gif' border='0' align='absmiddle' title='처음'>", $write_pages);
        $write_pages = str_replace("이전", "<img src='$board_skin_path/img/prev.gif' border='0' align='absmiddle' title='이전'>", $write_pages);
        $write_pages = str_replace("다음", "<img src='$board_skin_path/img/next.gif' border='0' align='absmiddle' title='다음'>", $write_pages);
        $write_pages = str_replace("맨끝", "<img src='$board_skin_path/img/end.gif' border='0' align='absmiddle' title='맨끝'>", $write_pages);
        $write_pages = preg_replace("/<span>([0-9]*)<\/span>/", "<b><font style=\"font-family:돋움; font-size:9pt; color:#797979\">$1</font></b>", $write_pages);
        $write_pages = preg_replace("/<b>([0-9]*)<\/b>/", "<b><font style=\"font-family:돋움; font-size:9pt; color:orange;\">$1</font></b>", $write_pages);
        ?>
        <?=$write_pages?>
        <? if ($next_part_href) { echo "<a href='$next_part_href'><img src='$board_skin_path/img/btn_search_next.gif' border=0 align=absmiddle title='다음검색'></a>"; } ?>
    </td>
</tr>
</table>

        <?  // 수입총계
            $sumsu1 = sql_fetch(" select sum(wr_1) as sum_su1 from $write_table  where ca_name='수입' ");
            $suip1 = $sumsu1[sum_su1]; // 수입금액합계
            $suip2 = $sumsu2[sum_su2]; // 수입세액합계
            // 지출총계
            $sumji1 = sql_fetch(" select sum(wr_1) as sum_ji1 from $write_table  where ca_name='지출' ");
            $jich1 = $sumji1[sum_ji1]; //지출금액합계
            $jich2 = $sumji2[sum_ji2]; //지출세액합계
        $sum_total1 = $suip1 - $jich1;
        $sum_total2 = $suip2 - $jich2;
      ?>

<table width=100%>
<tr>
<td align=center width=49%>
<TABLE width="100%" border=1 cellspacing="0" bordercolordark="white" bordercolorlight="black" bordercolor="#990066" bgcolor="#FBE497">
<tr>
<td width=50% align=center><font color=green>페이지합계</font></td>
<td align=center>금&nbsp;&nbsp;&nbsp;&nbsp; 액</td>
</tr>
    <tr>
        <td align=right style=padding-right:60;>수&nbsp;&nbsp;&nbsp;&nbsp; 입</td>
        <td align=right><font color='blue'>&nbsp;&nbsp;<?=number_format($sub_suip1)?>&nbsp;원&nbsp;</b></font></td>
    </tr>
    <tr>
        <td align=right style=padding-right:60;>─&nbsp;지&nbsp;&nbsp;&nbsp;&nbsp; 출</td>
        <td align=right><font color='red'>&nbsp;&nbsp;<?=number_format($sub_jich1)?>&nbsp;원&nbsp;</b></font></td>
    </tr>
    <tr>
        <td align=right style=padding-right:60;>〓&nbsp;총&nbsp;&nbsp;&nbsp;&nbsp; 계</td>
        <td align=right><b>&nbsp;&nbsp;<?=number_format($sub_sum_total1)?>&nbsp;원&nbsp;</b></td>
    </tr>
</table>
</td>
<td width=2% align=center>∽</td>
<td width=49% align=center>
<TABLE width="100%" border=1 cellspacing="0" bordercolordark="white" bordercolorlight="black" bordercolor="#990066" bgcolor="#FBE497">
    <tr>
        <td width=50% align=center><font color=green>전 체 누 계</font></td>
        <td align=center>금&nbsp;&nbsp;&nbsp;&nbsp; 액</td>
    </tr>
    <tr>
        <td align=right style=padding-right:60;>수&nbsp;&nbsp;&nbsp;&nbsp; 입</td>
        <td align=right><font color='blue'>&nbsp;&nbsp;<?=number_format($suip1)?>&nbsp;원&nbsp;</b></font></td>
    </tr>
    <tr>
        <td align=right style=padding-right:60;>─&nbsp;지&nbsp;&nbsp;&nbsp;&nbsp; 출</td>
        <td align=right><font color='red'>&nbsp;&nbsp;<?=number_format($jich1)?>&nbsp;원&nbsp;</b></font></td>
    </tr>
    <tr>
        <td align=right style=padding-right:60;>〓&nbsp;총&nbsp;&nbsp;&nbsp;&nbsp; 계</td>
        <td align=right><b>&nbsp;&nbsp;<?=number_format($sum_total1)?>&nbsp;원&nbsp;</b></td>
    </tr>
</table>
</td>
</tr>
</table>

<!-- 링크 버튼, 검색 -->

<table width=100% cellpadding=0 cellspacing=0>
<tr>
    <td width="50%" height="40">
        <? if ($list_href) { ?><a href="<?=$list_href?>&sop=and&sst=wr_1&sod=desc&sfl=&stx=&page=1"><img src="<?=$board_skin_path?>/img/btn_list.gif" border="0"></a><? } ?>
        <? if ($write_href) { ?><a href="<?=$write_href?>"><img src="<?=$board_skin_path?>/img/btn_write.gif" border="0"></a><? } ?>
        <? if ($is_checkbox) { ?>
            <a href="javascript:select_delete();"><img src="<?=$board_skin_path?>/img/btn_select_delete.gif" border="0"></a>
            <a href="javascript:select_copy('copy');"><img src="<?=$board_skin_path?>/img/btn_select_copy.gif" border="0"></a>
            <a href="javascript:select_copy('move');"><img src="<?=$board_skin_path?>/img/btn_select_move.gif" border="0"></a>
        <? } ?>
    </td>
<? /*
    <td width="50%" align="center">
<font color=green>특정기간별 검색은 상단 기간별 검색을 이용하세요.</font>
</td>
*/ ?>
    <td width="50%" align="right">
<?// include "$board_skin_path/config.list_select.php"; ?>
    </td>
</tr>
</table>

</td></tr></table>

<script language="JavaScript">
if ('<?=$sca?>') document.fcategory.sca.value = '<?=$sca?>';
if ('<?=$stx?>') {
    document.fsearch.sfl.value = '<?=$sfl?>';
    document.fsearch.sop.value = '<?=$sop?>';
}
</script>

<? if ($is_checkbox) { ?>
<script language="JavaScript">
function all_checked(sw)
{
    var f = document.fboardlist;

    for (var i=0; i<f.length; i++) {
        if (f.elements[i].name == "chk_wr_id[]")
            f.elements[i].checked = sw;
    }
}

function check_confirm(str)
{
    var f = document.fboardlist;
    var chk_count = 0;

    for (var i=0; i<f.length; i++) {
        if (f.elements[i].name == "chk_wr_id[]" && f.elements[i].checked)
            chk_count++;
    }

    if (!chk_count) {
        alert(str + "할 게시물을 하나 이상 선택하세요.");
        return false;
    }
    return true;
}

// 선택한 게시물 삭제
function select_delete()
{
    var f = document.fboardlist;

    str = "삭제";
    if (!check_confirm(str))
        return;

    if (!confirm("선택한 게시물을 정말 "+str+" 하시겠습니까?\n\n한번 "+str+"한 자료는 복구할 수 없습니다"))
        return;

    f.action = "./delete_all.php";
    f.submit();
}

// 선택한 게시물 복사 및 이동
function select_copy(sw)
{
    var f = document.fboardlist;

    if (sw == "copy")
        str = "복사";
    else
        str = "이동";
                     
    if (!check_confirm(str))
        return;

    var sub_win = window.open("", "move", "left=50, top=50, width=396, height=550, scrollbars=1");

    f.sw.value = sw;
    f.target = "move";
    f.action = "./move.php";
    f.submit();
}
</script>
<? } ?>
<!-- 게시판 목록 끝 -->
자신의 글만 목록으로 뜨게 하고 싶다면 다소 어렵게 접근 하시는것이 아닌가 싶습니다.

스킨의 적당한곳에 다음의 조건을 달아 보세요

<?
if(!$is_admin ) {  // 관리자가 아니라면
goto_url("board.php?bo_table=$bo_table&page=$page&sfl=wr_id&stx=$member[mb_id]");
}
?>


기본 스킨의 상단 적당한곳에 넣으면 어떨까요?
물론 뷰 스킨에서 에서도 자신의 글인지 체크하고 아니면 뒤로가기 해놓구요.
이는 먼저 목록보기 글보기를 회원에게만 허용하도록 게시판 설정을 선행 해야 겠네요..


꼭 특정 게시판에서 자신의 글이 몇개인지 뽑고 싶다면 별도의 쿼리문을 작성 하셔야 할거구요
아길이님 감사합니다. 두분다 채택하고 싶지만 네발가락님께서 먼저 답글주시고 쪽지도 보내주셔서 포인트 얼마 되지 않지만 채택하려고 합니다. 고맙습니다. 복받으세요 ^^
© SIRSOFT
현재 페이지 제일 처음으로