for문과 쿼리문에 대해서 다시한번 질문드리겟습니다

for문과 쿼리문에 대해서 다시한번 질문드리겟습니다

QA

for문과 쿼리문에 대해서 다시한번 질문드리겟습니다

본문

제가 휴가게시판을 만들고싶어서? 소스를 이렇게 짰는데용


<?
$query = " SELECT * FROM g5_member WHERE mb_10='1' ";
$result = sql_query($query);
for($i=0; $row = sql_fetch_array($result); $i++) {
 echo "<tr class='tr'>";
 echo "<td class='td' align='center'>".$row['mb_name']."</td>";

$query2 = " SELECT *  FROM g5_write_work WHERE wr_subject = '".$row['mb_name']."' ";
$result2 = sql_query($query2);
for($j=0; $row2 = sql_fetch_array($result2); $j++) {
 
 echo "<td>";
 echo "".$row2['wr_1'].":<font color=#0080ff>&nbsp".$row2['wr_3']."</font>";
 }
 echo "</td></tr>";
}
?>

이렇게 소스를 짜서

30689252_1542335675.372.png

이런 화면을 구현을 해냈는데요 등록을 하게되면 소스를 보시는것처럼

이름 밑을 쭉 있고 옆으로는 등록한 날짜 wr_1 과 wr_3 값이 찍힙니다

연차 = 1 (wr_5에 입력) , 반차 = 0.5(wr_6에 입력) , 외출 = 0.25(wr_7에 입력)이 되게끔하고

 

저거 다 더하면 1.75니까  예를드렁  1.75  / 10 이렇게 표현하고 싶은데

많은분들이 답글을 달아준것처럼

$row2[wr_5]+$row2[wr_6]+$row2[wr_7] 하면된다고했는데 그럼 각각 wr_5, wr_6 wr_7 값이 찍힙니다ㅠ

그래서 제가 쿼리문을 이용해 보려고


<?
$query = " SELECT * FROM g5_member WHERE mb_10='1' ";
$result = sql_query($query);
for($i=0; $row = sql_fetch_array($result); $i++) {
 echo "<tr class='tr'>";
 echo "<td class='td' align='center'>".$row['mb_name']."</td>";

$query2 = " SELECT wr_1,wr_3, sum(wr_5+wr_6+wr_7) as wrsum FROM g5_write_work_table_181115 WHERE wr_subject = '".$row['mb_name']."' ";
$result2 = sql_query($query2);
for($j=0; $row2 = sql_fetch_array($result2); $j++) {
 
 echo "<td>";
 echo "".$row2['wr_1'].":<font color=#0080ff>&nbsp".$row2['wr_3'].$row2['wrsum']."</font>";
 }
 echo "</td></tr>";
}
?>

로 바꿔줬는데

30689252_1542335971.2842.png 이렇게 wr_1, wr_3 값이 1개만 나오는데 위에처럼 나열되고

 

저 합계를 이름 옆에다가 둘수있는 방법이 없을까요?

이 질문에 댓글 쓰기 :

답변 2


<?
$query = " SELECT * FROM g5_member WHERE mb_10='1' ";
$result = sql_query($query);
for($i=0; $row = sql_fetch_array($result); $i++) {

$rs = sql_fetch(" SELECT sum(wr_5+wr_6+wr_7) as wrsum FROM g5_write_work_table_181115 WHERE wr_subject = '".$row['mb_name']."' ");

 echo "<tr class='tr'>";
 echo "<td class='td' align='center'>".$row['mb_name'].$rs[wrsum]."</td>";

$query2 = " SELECT wr_1,wr_3 FROM g5_write_work_table_181115 WHERE wr_subject = '".$row['mb_name']."' ";
$result2 = sql_query($query2);
for($j=0; $row2 = sql_fetch_array($result2); $j++) {
 
 echo "<td>";
 echo "".$row2['wr_1'].":<font color=#0080ff>&nbsp".$row2['wr_3']."</font>";
 }
 echo "</td></tr>";
}
?>

 

이렇게요?

$result 값들을 row 형태에서 돌리지 마시고

 

다른 3차 배열 형태로 저장해두셨다가 for문을 이용해서 사용하시면 됩니다.

 

 

답변을 작성하시기 전에 로그인 해주세요.
전체 128
QA 내용 검색

회원로그인

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