컴퓨터가 스파크가나서 소스가 날라갔네요. 질문 도와주세요ㅠㅠ > 그누4 질문답변

그누4 질문답변

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

컴퓨터가 스파크가나서 소스가 날라갔네요. 질문 도와주세요ㅠㅠ 정보

컴퓨터가 스파크가나서 소스가 날라갔네요. 질문 도와주세요ㅠㅠ

본문

사무실 서버에 스파크가 나서 자료가 망가졌습니다. ㅠㅠ
오늘에야 백업의 중요성을 알게되었습니다....좀 도와주십시요.ㅠㅠ

오늘 몇 몇 질문과 지인에게 요청하여 몇 가지 해결하고요...ㅠㅠ 중요한거 한 두어가지 남았습니다.

페이지에서 인쇄버튼을 누르면 리스트를 뽑아오는 php구문인것 같습니다.
지금은 전체 리스트를 가져오는 것 같은데요... 이 소스아래는 이렇게 불러온 데이터를
For 문으로 내용을 뿌려주는 문장이 옵니다.

여기서 원래 전체 회원의 게시물 내용이 보이던 내용을 이 것을 클릭한 회원의 게시물만 보이도록

수정했었던 같은데 수정내용은 버튼을 누르면 현재 버튼을 누른 회원이 쓴 글만 가져와서 인쇄하는

것으로 수정하는 것  입니다. 어디를 손봐야 할지 부탁드립니다. 꼭 부탁드립니다 ㅠㅠ



<?
    if (!$fr_date)    $fr_date =  substr(date("Ymd", time()),0,8); // 이번달검색
if (!$to_date)    $to_date = substr(date("Ymd", time()),0,8);
if ($sort1 == "") $sort1 = "wr_subject";
    if ($sort2 == "") $sort2 = "asc"; //desc
   
    $sql  = " select * from g4_write_$bo_table ";

if ($fr_date && $to_date)
{
     
$sql .= " WHERE (wr_subject between '$fr_date' and '$to_date') ";

}

if ($gubun) { $sql .= " AND ca_name like '$gubun' "; }

  $sql .= " order by $sort1 $sort2 ";
$result = sql_query($sql);
$total_count = mysql_num_rows($result);

$rows = 500;
                $pagerows    = 30; // 페이지당 인쇄 라인수
                $printpage  = ceil($total_count / $pagerows); //인쇄페이지수
                $firstpage  =  0;

$total_page  = ceil($total_count / $rows);  // 전체 페이지 계산
if ($page == "") { $page = 1; } // 페이지가 없으면 첫 페이지 (1 페이지)
$from_record = ($page - 1) * $rows; // 시작 열을 구함

$rank = ($page - 1) * $rows;

$sql = $sql . " limit $from_record, $rows ";
$result = sql_query($sql);

$qstr = "page=$page&sort1=$sort1&sort2=$sort2";
$qstr1 = "fr_date=$fr_date&to_date=$to_date&sel_ca_id=$sel_ca_id";
?>

댓글 전체

음...  이 소스가 원래 그누 소스인가요?
wr_subject 가 날짜형이 아닐텐데 왜 between 으로 떄릴까요?? --a

첫줄에...
$fr_date =  substr(date("Ymd", time()),0,8); 이거를... 왜 이렇게 했는지도 모르겠네요.. --;
$fr_date =  date('Ymd'); 그냥 이렇게 해도 되는데....

아무튼 이게 중요한건 아니고....

해당 정보만으로 어떻게 할수있는게 없습니다...
설명이 조금 부족한듯해요... 아님 제가 이해를 못하고 있는지도.. ^^:;
아 그렇군요... 전체소스 입니다. ㅠㅠ 한번 봐주세요

<?
include_once("./_common.php");
//include_once("$g4[path]/lib/latest.lib.php");

$g4['title'] = "기간별 검색화면";
//include_once("$g4[path]/_head.php");
include_once("$g4[path]/head.sub.php");
?>

<? // 이하 프린트 제어관련 스크립터 ?>
<script language="javascript">
// 인쇄보기/페이지설정/인쇄대화상자/인쇄하기 버튼제어
function ieExecWB( intOLEcmd, intOLEparam ){
    var WebBrowser = '<OBJECT ID="WebBrowser1" WIDTH=0 HEIGHT=0 CLASSID="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2"></OBJECT>';

document.body.insertAdjacentHTML('beforeEnd', WebBrowser);
if ( ( ! intOLEparam ) || ( intOLEparam < -1 )  || (intOLEparam > 1 ) )
        intOLEparam = 1;
        WebBrowser1.ExecWB( intOLEcmd, intOLEparam );
        WebBrowser1.outerHTML = "";
}
</script>

<script language=javascript>
// 인쇄 시작전에 실행되는 함수
// 'no'으로 시작하는 div 태그 제거
function window.onbeforeprint()
{
    var divs = document.all.tags("div")
    for (i=0;i<divs.length;i++)
    {
        if (divs[i].id.substring(0,2)== "no") {
        divs[i].style.display = "none";
        }
    }
}

function window.onafterprint()
//인쇄가 종료되면 실행되는 부분
//모든 div 태그를 재생
{
    var divs = document.all.tags("div")
    for (i=0;i<divs.length;i++)
    {
        divs[i].style.display = "inline"
    }
}
</script>

<? // 페이지 넘김/다음페이지로 ?>
<STYLE TYPE="text/css">
    <!-- .break {page-break-before: always;} -->
</STYLE>

<? // 여기까지 프린터 제어 관련 스크립터 ?>

<?
 
    if (!$fr_date)    $fr_date =  substr(date("Ymd", time()),0,8); // 이번달검색
if (!$to_date)    $to_date = substr(date("Ymd", time()),0,8);
if ($sort1 == "") $sort1 = "wr_subject";
    if ($sort2 == "") $sort2 = "asc"; //desc
   
    $sql  = " select * from g4_write_$bo_table ";

if ($fr_date && $to_date)
{
     
$sql .= " WHERE (wr_subject between '$fr_date' and '$to_date') ";

}

if ($gubun) { $sql .= " AND ca_name like '$gubun' "; }

  $sql .= " order by $sort1 $sort2 ";
$result = sql_query($sql);
$total_count = mysql_num_rows($result);

//$rows = $config[cf_page_rows];
$rows = 500; // 한화면에 나올 게시물수 합계를 보기위해 많이잡음.인쇄시 페이지 나눔.
    $pagerows    = 30; // 페이지당 인쇄 라인수
    $printpage  = ceil($total_count / $pagerows); //인쇄페이지수
    $firstpage  =  0;

$total_page  = ceil($total_count / $rows);  // 전체 페이지 계산
if ($page == "") { $page = 1; } // 페이지가 없으면 첫 페이지 (1 페이지)
$from_record = ($page - 1) * $rows; // 시작 열을 구함

$rank = ($page - 1) * $rows;

$sql = $sql . " limit $from_record, $rows ";
$result = sql_query($sql);

$qstr = "page=$page&sort1=$sort1&sort2=$sort2";
$qstr1 = "fr_date=$fr_date&to_date=$to_date&sel_ca_id=$sel_ca_id";
?>

<div id="noPrint1"> <? // 인쇄시 미포함 영역 1 ?>

<!-- 메인화면 최신글 시작 -->
<table width=750 border=0 cellpadding=0 cellspacing=0 align=center>
<form name=flist>
<? /* <form name=flist method=get style="margin:0px;"> */ ?>
<input type=hidden name=doc  value="<?=$doc?>">
<input type=hidden name=sort1 value="<?=$sort1?>">
<input type=hidden name=sort2 value="<?=$sort2?>">
<input type=hidden name=page  value="<?=$page?>">
<input type=hidden name=bo_table value="<?=$bo_table?>">

<tr><td colspan=3 height=20 ></td></tr>
<tr>
    <td colspan=3>
        &nbsp;&nbsp;<font color=green size=3><b> | 기간별 내역 조회 |</b></font>
    </td>
</tr>
<tr>
    <td colspan=3 align=right>
        <input type=button value="프린트" onclick="window.print()">
        <input type=button value="창닫기" onclick="javaScript:self.close()">
    </td>
</tr>
<tr><td colspan=3 height=10 ></td></tr>
<tr>
    <td width=10%>
        <a href='<?=$_SERVER[PHP_SELF]?>?bo_table=<?=$bo_table?>'>처음</a>
</td>
    <td width=70% align=center>
        검색기간 :  <input type=text name=fr_date size=8 maxlength=8 itemname='기간' required value='<?=$fr_date?>'> ~
                <input type=text name=to_date size=8 maxlength=8 itemname='기간' required value='<?=$to_date?>'>

        <select name=gubun>
<option value=''>전체</option>
            <option value='수입'>수입</option>
            <option value='지출'>지출</option>
        </select>
        <script> document.flist.gubun.value = '<?=$gubun?>';</script>

        <input type=image src="./img/search_btn.gif" border=0 align=absmiddle>

    </td>
  <td width=20% align=right>건수 : <? echo $total_count ?>&nbsp;</td>
</tr>
<tr><td colspan=3 height=1 bgcolor=#CCCCCC></td></tr>
</table>

</div> <? // 인쇄시 미포함 영역 1 끝 ?>

<div id="startPrint"> <? // 인쇄영역 시작 ?>

<table width=750 border=0 cellpadding=0 cellspacing=0 align=center>
<?
for ($i=0; $row=mysql_fetch_array($result); $i++)

{
    $num = $rank + $i + 1;

    if($i % 30 == 0) {
        $subpage  = $subpage + 1;

        if($firstpage) {
        echo "
            <tr>
                <td colspan=12>
                    <h6 CLASS='break'>
                    기간별조회 : [$fr_date~$to_date] Page $subpage/$printpage
                    </h6>
                </td>
            </tr>
        ";
        } else {
        echo"
            <tr>
                <td colspan=12>
                <h6>기간별조회 : [$fr_date~$to_date] Page $subpage/$printpage</h6>
                </td>
            </tr>
        ";
        }

    $firstpage = 1;

echo "
<tr><td colspan=12 height=3 bgcolor=#0E87F9></td></tr>
<tr align=center height=25>
    <td width=50>번호</td>
    <td width=100>분류</td>
    <td width=5>&nbsp;</td>
    <td width=100>발생일자</td>
    <td width=300>학생이름(or 제목)</td>
    <td width=150>수입내용</td>
    <td width=150>수입구분</td>
    <td width=150><font color=blue>수입금액</font></td>
    <td width=150><font color=red >지출금액</font></td>
    <td width=150>지출내용</td>
    <td width=150>지출구분</td>
    <td width=150>기록일자</td>
</tr>
<tr><td colspan=12 height=1 bgcolor=#CCCCCC></td></tr>
";
}

    $list = $i%2;

    // 검색내역총계(페이지합)
    if ($row[ca_name] == "수입") {
            $sub_suip1 += $row[wr_1];
    }
    if ($row[ca_name] == "지출") {
            $sub_jich1 += $row[wr_1];
    }
    $sub_sum_total1 = $sub_suip1 - $sub_jich1;

    echo "
    <tr class='list$list center'>
        <td height=25 align=center width=50>$num</td>
        <td align=center width=100>$row[ca_name]</td>
        <td align=left width=5 width=5>&nbsp;</td>
        <td align=center width=100><font color=green>$row[wr_subject]</font></td>
        <td align=center width=300>$row[wr_2]</td>
        <td align=center width=150>$row[wr_3]</td>
        <td align=center width=150>$row[wr_4]</td>

";
    if ($row[ca_name] == '수입') {
$echo_num1 = number_format($row[wr_1]);
echo "
        <td align=right style=padding-right:25;><font color=blue>$echo_num1</font></td>
        <td align=right style=padding-right:25;><font color=CCCCCC>0</font></td>
";
    }
    if ($row[ca_name] == '지출') {
$echo_num1 = number_format($row[wr_1]);
echo "
        <td align=right style=padding-right:25;><font color=CCCCCC>0</font></td>
        <td align=right style=padding-right:25;><font color=red>$echo_num1</font></td>

";
    }

        echo "<td align=center width=150>$row[wr_6]</td>
        <td align=center width=150>$row[wr_5]</td>
        <td align=center width=150>$row[wr_10]</td>";

echo "
    </tr>
<tr><td colspan=12 height=1 bgcolor=#F5F5F5></td></tr>";
// 라인사이 공백
 
}
if ($i == 0) {
    echo "<tr><td colspan=12 align=center height=100 bgcolor=#ffffff><span class=point>자료가 한건도 없습니다.</span></td></tr>\n";
}
?>
<tr><td colspan=12 height=1 bgcolor=CCCCCC></td></tr>

</table>

<div style='font-size: 13px; font-family: dotum; font-weight: bold; margin: 15px 0 0 0;'>
    &nbsp;&nbsp;&nbsp;&nbsp;기간별 조회내역 합계 : [<?=$fr_date?> ~ <?=$to_date?>]
</div>

<table width=750 border=0 cellpadding=0 cellspacing=0 align=center>
<tr>
    <td width=50%>&nbsp;</td>
    <td width=50% align=right><?=get_paging($config[cf_write_pages], $page, $total_page, "$_SERVER[PHP_SELF]?bo_table=$bo_table&$qstr1&page=");?></td>
</tr>
</table>
<TABLE width="650" border=1 cellspacing="0" bordercolordark="white" bordercolorlight="black" bordercolor="#990066" align=center>
    <tr>
        <td align=center><font color=green>기간별 조회내역 합계</font></td>
        <td align=center>합계금액</td>
    </tr>
    <tr>
        <td align=center>수입금액</td>
        <td align=right><font color='blue'>&nbsp;&nbsp;<?=number_format($sub_suip1)?>&nbsp;원&nbsp;</b></font></td>
    </tr>
    <tr>
        <td align=center>지출금액</td>
        <td align=right><font color='red'>&nbsp;&nbsp;<?=number_format($sub_jich1)?>&nbsp;원&nbsp;</b></font></td>
    </tr>
    <tr>
        <td align=center><b>기간총계</b></td>
        <td align=right><b>&nbsp;&nbsp;<?=number_format($sub_sum_total1)?>&nbsp;원&nbsp;</b></td>
    </tr>
</table>
</td></tr></table>
<!-- 메인화면 최신글 끝 -->

<?
//include_once("$g4[path]/_tail.php");
include_once("$g4[path]/tail.sub.php");
?>
wr_subject의 내용으로는 20100722 이런 식으로 입력을 하는 모양이네요. 위에서 박용섭님도 잘 언급하셨구요.

$sql 문에서  where 절에서 mb_id부분만 추가하시면 될 것 같은데요... AND mb_id = '$member[mb_id]' 를 추가하시면 현재 접속자가 쓴 거만 불러오겠죠...
letsgolee님 !!!! 너무 감사합니다 ㅠㅠ 하루꼬박 이것으로 헤매였네요. ㅠㅠ 한방에 해결되었습니다. 그리고 위에서 언급하신거 고쳤고요. 보시면 아시겠지만 어줍잖게 소스보고 수정하는 왕초보라 이렇게 소스가 통채로 날아가면 완전 삽질한답니다. ㅠㅠ 저희 모임에서 쓰는 홈피에 소스인데 이제 올려두면 될 것 같습니다. 너무 고맙습니다. ㅠㅠ
전체 66,554 |RSS
그누4 질문답변 내용 검색

회원로그인

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