출력페이지 생성 질문~..두번째 정보
출력페이지 생성 질문~..두번째첨부파일
본문
전진님이 가르쳐 주신걸 짜집기 한 경험(?)을 되 살려서 수정을 해봤는데 잘 안되네요..
for 문 저게 문제가 되는거 같은데.. 어찌 수정해야할지 모르겠네요..
아래는 수정한 소스의에요.. 한번 봐주시고 수정하여할 부분이 어디인지 지적 또는 알려주시면
복 받으실꺼에요..^^
<?
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=5%>번호</td>/
<td width=10%>생활자명</td>
<td align=right width=15%><font color=blue>총 입금액</font></td>
<td align=right width=15%><font color=red>총 출금액</font></td>
<td align=right width=15%>잔 액</td>
<td align=right width=10%>소 속 동</td>
<td align=right width=1%></td>
</tr>
<tr><td colspan=12 height=1 bgcolor=#CCCCCC></td></tr>";
}
//$list = $i%2;
// $row[wr_1] = date("Y-m-d",strtotime($row[wr_1]));
$name ="select wr_subject as list from g4_write_membership where (wr_2!='퇴소자') AND (ca_name='$wr_8')";
$rowsum = sql_fetch("select sum(wr_3) as sum_in from $write_table where (group by $name['list']) AND (ca_name='입금') ");
$rowsubtract = sql_fetch("select sum(wr_3) as subtract_in from $write_table where (group by $name['list']) AND (ca_name='출금') ");
$row_tot = $rowsum['sum_in'] - $rowsubtract['subtract_in'];
$row[wr_5] = number_format($row[wr_5]);
$sub_suip1 = number_format($sub_suip1);
$sub_jich1 = number_format($sub_jich1);
echo "
<tr class='list$list center'>
<td height=25 align=center>$num</td>
<td align=center>$name[list]</td>
<td align=right><font color=blue>$rowsum['sum_in'] 원</font></td>
<td align=right><font color=red> $rowsubtract['subtract_in'] 원</font></td>
<td align=right>$row_tot 원</td>
<td align=right>$row[wr_8]</td>";
echo "
</tr>
<tr><td colspan=12 height=1 bgcolor=#cccccc></td></tr>";
// 라인사이 공백
}
if ($i == 0) {
echo "<tr><td colspan=12 align=center height=100 bgcolor=#ffffff><span class=point>자료가 한건도 없습니다.</span></td></tr>\n";
}
?>
for 문 저게 문제가 되는거 같은데.. 어찌 수정해야할지 모르겠네요..
아래는 수정한 소스의에요.. 한번 봐주시고 수정하여할 부분이 어디인지 지적 또는 알려주시면
복 받으실꺼에요..^^
<?
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=5%>번호</td>/
<td width=10%>생활자명</td>
<td align=right width=15%><font color=blue>총 입금액</font></td>
<td align=right width=15%><font color=red>총 출금액</font></td>
<td align=right width=15%>잔 액</td>
<td align=right width=10%>소 속 동</td>
<td align=right width=1%></td>
</tr>
<tr><td colspan=12 height=1 bgcolor=#CCCCCC></td></tr>";
}
//$list = $i%2;
// $row[wr_1] = date("Y-m-d",strtotime($row[wr_1]));
$name ="select wr_subject as list from g4_write_membership where (wr_2!='퇴소자') AND (ca_name='$wr_8')";
$rowsum = sql_fetch("select sum(wr_3) as sum_in from $write_table where (group by $name['list']) AND (ca_name='입금') ");
$rowsubtract = sql_fetch("select sum(wr_3) as subtract_in from $write_table where (group by $name['list']) AND (ca_name='출금') ");
$row_tot = $rowsum['sum_in'] - $rowsubtract['subtract_in'];
$row[wr_5] = number_format($row[wr_5]);
$sub_suip1 = number_format($sub_suip1);
$sub_jich1 = number_format($sub_jich1);
echo "
<tr class='list$list center'>
<td height=25 align=center>$num</td>
<td align=center>$name[list]</td>
<td align=right><font color=blue>$rowsum['sum_in'] 원</font></td>
<td align=right><font color=red> $rowsubtract['subtract_in'] 원</font></td>
<td align=right>$row_tot 원</td>
<td align=right>$row[wr_8]</td>";
echo "
</tr>
<tr><td colspan=12 height=1 bgcolor=#cccccc></td></tr>";
// 라인사이 공백
}
if ($i == 0) {
echo "<tr><td colspan=12 align=center height=100 bgcolor=#ffffff><span class=point>자료가 한건도 없습니다.</span></td></tr>\n";
}
?>
댓글 전체
우선 눈에 띄는 부분부터.. ^^;
(wr_2!='퇴소자') => (NOT wr_2 = '퇴소자')
where (group by $name['list']) AND (ca_name='입금')
아마도?==>
where ca_name='입금' group by $name['list']
음.. 우선 하시려는 일의 로직을, 위 소스로는 파악하기 힘드네요..
중간에 지정되지 않은 변수 ($wr_8) 도 사용하시고요..
하시려는 일과 현재 사용하시는 필드들 (예, wr_2 와 ca_name에 들어가는 내용 등), 사용하시는 게시판 (예. membership은 회원정보를, 다른 게시판에 입출금 정보) 등을 모른 상태에서는 조언을 드리기 힘들것 같네요. .^^;
(wr_2!='퇴소자') => (NOT wr_2 = '퇴소자')
where (group by $name['list']) AND (ca_name='입금')
아마도?==>
where ca_name='입금' group by $name['list']
음.. 우선 하시려는 일의 로직을, 위 소스로는 파악하기 힘드네요..
중간에 지정되지 않은 변수 ($wr_8) 도 사용하시고요..
하시려는 일과 현재 사용하시는 필드들 (예, wr_2 와 ca_name에 들어가는 내용 등), 사용하시는 게시판 (예. membership은 회원정보를, 다른 게시판에 입출금 정보) 등을 모른 상태에서는 조언을 드리기 힘들것 같네요. .^^;
답변 감사드립니다..^^
$name ="select wr_subject as list from g4_write_membership where (wr_2!='퇴소자') AND (ca_name='$wr_8')";
// 위 부분은 회원관리테이블(멤버쉽) wr_subject 를 퇴소자 아니고 팝업창에서 입력받은 wr_8과 동일한 부분을 받아오는 부분 설정했구요...
$rowsum = sql_fetch("select sum(wr_3) as sum_in from $write_table where (group by $name['list']) AND (ca_name='입금') ");
//입출금을 ca_name을 사용하여 wr_3 에 들어가게 처리가 되어 있어요.. 그래서 wr_3의 합계를 구하라 단 ca_name 입금이고 위 name 들어있는 사람 하나중에서.
$rowsubtract = sql_fetch("select sum(wr_3) as subtract_in from $write_table where (group by $name['list']) AND (ca_name='출금') ");
// 입금과 동일하고요 출금만 바뀌었을뿐..
$row_tot = $rowsum['sum_in'] - $rowsubtract['subtract_in'];
//요기는 입금 - 출금 = $row_tot
//wr_8 저희 시설 동구분에 지정 되어있거든요.. 사랑동 믿음동 봉사동 노인동 등등...
$name ="select wr_subject as list from g4_write_membership where (wr_2!='퇴소자') AND (ca_name='$wr_8')";
// 위 부분은 회원관리테이블(멤버쉽) wr_subject 를 퇴소자 아니고 팝업창에서 입력받은 wr_8과 동일한 부분을 받아오는 부분 설정했구요...
$rowsum = sql_fetch("select sum(wr_3) as sum_in from $write_table where (group by $name['list']) AND (ca_name='입금') ");
//입출금을 ca_name을 사용하여 wr_3 에 들어가게 처리가 되어 있어요.. 그래서 wr_3의 합계를 구하라 단 ca_name 입금이고 위 name 들어있는 사람 하나중에서.
$rowsubtract = sql_fetch("select sum(wr_3) as subtract_in from $write_table where (group by $name['list']) AND (ca_name='출금') ");
// 입금과 동일하고요 출금만 바뀌었을뿐..
$row_tot = $rowsum['sum_in'] - $rowsubtract['subtract_in'];
//요기는 입금 - 출금 = $row_tot
//wr_8 저희 시설 동구분에 지정 되어있거든요.. 사랑동 믿음동 봉사동 노인동 등등...
혹시 아래의 부분과 상관이 있을꺼 같은데 아닌가요?
for ($i=0; $row=mysql_fetch_array($result); $i++)
for ($i=0; $row=mysql_fetch_array($result); $i++)
설명 감사합니다.
글쎄요.. $result를 저 소스 코드 전에 (디비에서) 준비해오지 않았다면 당연히 문제일텐데.. 그건 제가 잘 모르겠네요.. ^^;
음.. 그 for 루프에서 받은 $row 배열을 사용하는 곳이
$row[wr_1] : 아마 일자
$row[wr_5] : ??
일단, 제가 의미를 알 수없는 변수들을 제외하고,
중간의 sql 부분만 오류를 수정하면, 우선 해당 조건에 부합하는 회원이 여럿이 될테니
$sql_name ="select wr_subject as list from g4_write_membership where NOT wr_2='퇴소자' AND ca_name='$wr_8' ";
$res_name = sql_query($sql_name);
while( $name = mysql_fetch_array($res_name) {
$rowsum = sql_fetch("select sum(wr_3) as sum_in from $write_table where mb_id=$name['list'] and ca_name='입금' "); // membership 테이블의 wr_subject가 mb_id라고 가정할때,
$rowsubtract = sql_fetch("select sum(wr_3) as subtract_in from $write_table where mb_id=$name['list'] and ca_name='출금' ");
...
//라인사이공백
}
으로 하시면 어떨까 합니다.
그런데, { 열고 다는게 개수가 안맞네요.. 그래서 더 로직을 파악하기 힘든듯..
위 코드에서 사용하지 않는 변수들도 많고요.. ^^;
위 코드가 전부 인가요? 아님 일부인가요?
전부라면 (지금처럼 고쳐도) 당연히 동작하지 않을것 같고요.
일부라면, 전체 코드를 알려주시면 문제를 잘 파악할 수 있지 않을까 합니다. ^^;
글쎄요.. $result를 저 소스 코드 전에 (디비에서) 준비해오지 않았다면 당연히 문제일텐데.. 그건 제가 잘 모르겠네요.. ^^;
음.. 그 for 루프에서 받은 $row 배열을 사용하는 곳이
$row[wr_1] : 아마 일자
$row[wr_5] : ??
일단, 제가 의미를 알 수없는 변수들을 제외하고,
중간의 sql 부분만 오류를 수정하면, 우선 해당 조건에 부합하는 회원이 여럿이 될테니
$sql_name ="select wr_subject as list from g4_write_membership where NOT wr_2='퇴소자' AND ca_name='$wr_8' ";
$res_name = sql_query($sql_name);
while( $name = mysql_fetch_array($res_name) {
$rowsum = sql_fetch("select sum(wr_3) as sum_in from $write_table where mb_id=$name['list'] and ca_name='입금' "); // membership 테이블의 wr_subject가 mb_id라고 가정할때,
$rowsubtract = sql_fetch("select sum(wr_3) as subtract_in from $write_table where mb_id=$name['list'] and ca_name='출금' ");
...
//라인사이공백
}
으로 하시면 어떨까 합니다.
그런데, { 열고 다는게 개수가 안맞네요.. 그래서 더 로직을 파악하기 힘든듯..
위 코드에서 사용하지 않는 변수들도 많고요.. ^^;
위 코드가 전부 인가요? 아님 일부인가요?
전부라면 (지금처럼 고쳐도) 당연히 동작하지 않을것 같고요.
일부라면, 전체 코드를 알려주시면 문제를 잘 파악할 수 있지 않을까 합니다. ^^;
스킨을 통째로 올립니다. 출력페이지 하나로는 파악기 힘들거 같아서요..
아마 복잡할껍니다.
제가 질문드린 내용이 들어있는 파일명은 fr_and_to_date.php 파일입니다..
수정한은 스킨은 장돌뱅이님의 간편장부를 이용하여 편집한겁니다.
아참 그리고 멤머쉽테이블은 제가 회원가입테이블이 아닌 자체 생성한 멤버쉽 테이블입니다. wr_subject 필드를 이름으로 쓰고 있답니다.
wr_1 날짜
2 계정
3 입출금액
4 계좌번호
5 잔액
6 $today
7 $ca_name|$wr_3|$wr_4|$wr_5|$wr_6
8 소속동
9 년도
10 년월
아마 복잡할껍니다.
제가 질문드린 내용이 들어있는 파일명은 fr_and_to_date.php 파일입니다..
수정한은 스킨은 장돌뱅이님의 간편장부를 이용하여 편집한겁니다.
아참 그리고 멤머쉽테이블은 제가 회원가입테이블이 아닌 자체 생성한 멤버쉽 테이블입니다. wr_subject 필드를 이름으로 쓰고 있답니다.
wr_1 날짜
2 계정
3 입출금액
4 계좌번호
5 잔액
6 $today
7 $ca_name|$wr_3|$wr_4|$wr_5|$wr_6
8 소속동
9 년도
10 년월
감사합니다. 첨부화일은 이제 삭제하셔되 되겠네요.
궁금증 1:
위에서 말씀하신 fr_and_to_date.php 화일이, 모든 거래?내역을 출력하는 화일인가요?
얼핏봐서는 다른 화일 (in_out_print.php) 이 모든 거래내역과 (회원별이 아닌 전체) 총합을 보여주고 인쇄하는 화일같네요.
그렇다면, fr_and_to_date.php의 맨위 sql부분에서 회원별로 grouping을 하는 것이 나을것 같은데요..
궁금증2:
위에서 얘기하신 membership 테이블에, 입출금 내역도 함께 들어있나요?
그렇다면, 제가 알려드린 sql에서 $write_table을 g4_write_membership 이나 g4_write_$bo_table 로 바꾸셔야 할듯 합니다.
정리
101줄위에
$sql .= " and NOT wr_2='퇴소자' group by wr_subject ";
추가
(기존 화일의) 232-238 를 아래로 교체
$sum = sql_fetch("select sum(wr_3) as sum_in from g4_write_$bo_table where wr_subject=$row['wr_subject'] and ca_name='입금' ");
$subtract = sql_fetch("select sum(wr_3) as subtract_in from g4_write_$bo_table where wr_subject=$row['wr_subject'] and ca_name='출금' ");
(기존 화일의) 247-249 를 아래로 교체
<td style='text-align: right;'><font color=blue>".number_format($sum[sum_in])."</font></td>
<td style='text-align: right;'><font color=blue>".number_format($substract[subtract_in])."</font></td>
<td style='text-align: right;'><font color=red>".number_format($sum[sum_in] - $substract[subtract_in])."</font></td>
일단 지금 생각되는 것은 이 정도입니다. ^^
해보시고 문제가 있으면 알려주세요.
궁금증 1:
위에서 말씀하신 fr_and_to_date.php 화일이, 모든 거래?내역을 출력하는 화일인가요?
얼핏봐서는 다른 화일 (in_out_print.php) 이 모든 거래내역과 (회원별이 아닌 전체) 총합을 보여주고 인쇄하는 화일같네요.
그렇다면, fr_and_to_date.php의 맨위 sql부분에서 회원별로 grouping을 하는 것이 나을것 같은데요..
궁금증2:
위에서 얘기하신 membership 테이블에, 입출금 내역도 함께 들어있나요?
그렇다면, 제가 알려드린 sql에서 $write_table을 g4_write_membership 이나 g4_write_$bo_table 로 바꾸셔야 할듯 합니다.
정리
101줄위에
$sql .= " and NOT wr_2='퇴소자' group by wr_subject ";
추가
(기존 화일의) 232-238 를 아래로 교체
$sum = sql_fetch("select sum(wr_3) as sum_in from g4_write_$bo_table where wr_subject=$row['wr_subject'] and ca_name='입금' ");
$subtract = sql_fetch("select sum(wr_3) as subtract_in from g4_write_$bo_table where wr_subject=$row['wr_subject'] and ca_name='출금' ");
(기존 화일의) 247-249 를 아래로 교체
<td style='text-align: right;'><font color=blue>".number_format($sum[sum_in])."</font></td>
<td style='text-align: right;'><font color=blue>".number_format($substract[subtract_in])."</font></td>
<td style='text-align: right;'><font color=red>".number_format($sum[sum_in] - $substract[subtract_in])."</font></td>
일단 지금 생각되는 것은 이 정도입니다. ^^
해보시고 문제가 있으면 알려주세요.
전진님 답변 감사드립니다..*^.^*
궁금증1이 대한 답변 :
fr_and_to_date.php 파일은 개인별의 합계를 출력을 구현할려고 한거구요
궁금증2에 대한 답변 :
멤버쉽 테이블에서는 저희 시설 입소자의 기본정보만 있구요..
입출금에 관한 데이터는 하나도 없답니다.
리스트 출력하면에서는
성명 입금액 출금액 잔액
개똥이 10 0 10
개똥이 10 0 20
말똥이 10 0 10
소똥이 0 20 -20
개똥이 0 10 10
fr_and_to_date.php 파일은 아래와 같이...개인별 합계를
성명 입금액 출금액 잔액
개똥이 20 10 10
소똥이 0 20 -20
말똥이 10 0 10
신경 많이 써 주셨는데 위 댓글의 내용을 실제로 적용을 시켜 보았지만 안되네요...ㅠ.ㅠ 제가 글 재주가 없어서 전진님께 내용을 잘못 전달한거 같네요...
궁금증1이 대한 답변 :
fr_and_to_date.php 파일은 개인별의 합계를 출력을 구현할려고 한거구요
궁금증2에 대한 답변 :
멤버쉽 테이블에서는 저희 시설 입소자의 기본정보만 있구요..
입출금에 관한 데이터는 하나도 없답니다.
리스트 출력하면에서는
성명 입금액 출금액 잔액
개똥이 10 0 10
개똥이 10 0 20
말똥이 10 0 10
소똥이 0 20 -20
개똥이 0 10 10
fr_and_to_date.php 파일은 아래와 같이...개인별 합계를
성명 입금액 출금액 잔액
개똥이 20 10 10
소똥이 0 20 -20
말똥이 10 0 10
신경 많이 써 주셨는데 위 댓글의 내용을 실제로 적용을 시켜 보았지만 안되네요...ㅠ.ㅠ 제가 글 재주가 없어서 전진님께 내용을 잘못 전달한거 같네요...
음.. 괜히 제가 오기가 생기네요.. ^^;
답변 2번을 보니 입출금 내역이 들어있는 테이블이 다르네요?
그렇다면, 첫번째 sql의 디비는
$sql = " select * from g4_write_membership ";
로 직접 지정해서 사용하셔야 하고요.
에러가 나는 부분은 아래 sql부분에 있었네요. 죄송.. ^^;
$sum = sql_fetch("select sum(wr_3) as sum_in from g4_write_$bo_table where wr_subject='$row[wr_subject]' and ca_name='입금' ");
$subtract = sql_fetch("select sum(wr_3) as subtract_in from g4_write_$bo_table where wr_subject='$row[wr_subject]' and ca_name='출금' ");
$row[wr_subject] 주변에 따옴표를 빼먹었습니다. ^^;
음.. 일단 제 실험에서는 정보는 없이 돌아가긴 하네요.. 한번만 더 시험해 보세요. ^^;
답변 2번을 보니 입출금 내역이 들어있는 테이블이 다르네요?
그렇다면, 첫번째 sql의 디비는
$sql = " select * from g4_write_membership ";
로 직접 지정해서 사용하셔야 하고요.
에러가 나는 부분은 아래 sql부분에 있었네요. 죄송.. ^^;
$sum = sql_fetch("select sum(wr_3) as sum_in from g4_write_$bo_table where wr_subject='$row[wr_subject]' and ca_name='입금' ");
$subtract = sql_fetch("select sum(wr_3) as subtract_in from g4_write_$bo_table where wr_subject='$row[wr_subject]' and ca_name='출금' ");
$row[wr_subject] 주변에 따옴표를 빼먹었습니다. ^^;
음.. 일단 제 실험에서는 정보는 없이 돌아가긴 하네요.. 한번만 더 시험해 보세요. ^^;
이제 더이상 답변을 달수가 없네요.. ㅠ.ㅠ 일단 답변 채택하여 드립니다. ㅠ.ㅠ
하지만 안되네요... 퇴근시간이 다 되어가서요... 낼 다시 해봐야할거 같네요... 고생하셨습니다.
전진님...*^.^* 좋은 저녁 시간 되세요...
하지만 안되네요... 퇴근시간이 다 되어가서요... 낼 다시 해봐야할거 같네요... 고생하셨습니다.
전진님...*^.^* 좋은 저녁 시간 되세요...
네. 비누거품니도 좋은 시간 되세요.
참고로 제가 실험해서 내용없이 작동하는 코드는 메일로 보내드렸습니다. ^^
아.. 그리고 굳이 채택 안해주셔도 됩니다. 포인트도 이미 넘치구요.. ^^;
참고로 제가 실험해서 내용없이 작동하는 코드는 메일로 보내드렸습니다. ^^
아.. 그리고 굳이 채택 안해주셔도 됩니다. 포인트도 이미 넘치구요.. ^^;