쿼리 실행후 for문으로 합산처리 질문입니다. 채택완료

mysql 연동해서 값을 가져와서 합산을 보여주는 페이지를 만들려고 합니다.

예를 들어

3529861040_1583223570.0842.png

이런식의 DB가 있다고 할때

쿼리를 날짜로 정렬해서 리스트 해서 화면에 나오는데

3월3일 리스트가 뿌려지고, 3월3월 합산이 나오고

3월4일꺼가 다시 리스트로 뿌려지게 해야합니다.

 

select * 과일테이블 order by 날짜

for ($i=0; $row=sql_fetch_array($result); $i++) {

echo 3월3일 사과 10

echo 3월3일 배 12

echo 3월3일 포도 20

echo 3월3일 딸기 30

echo 3월3일 합산 72

echo 3월4일 바나나 40

echo 3월4일 합산 40

echo 3월5일 수박 3

echo 3월5일 합산 3

}

이런식으로 나왔으면 좋겠는데

어떻게 해야 할까요?

 

 

답변 2개

채택된 답변
+20 포인트

Copy
$day = "";

$tot = 0;

for ($i=0; $row=sql_fetch_array($result); $i++) {

  if($day != "" && $day != $row['날짜']){

    echo $day . " 합산 " . $tot;

    $tot = 0;

  }

  $day = $row['날짜'];

  $tot += $row['숫자'];

  echo $day .  " " . $row['과일'] . " " . $row['숫자'];

}

echo $day . " 합산 " . $tot;
로그인 후 평가할 수 있습니다

답변에 대한 댓글 3개

답변 감사합니다만. 안됩니다. 3월3일 합산이 3월4일 끝나고 나와요
[code]
$day = "";
$tot = 0;
for ($i=0; $row=sql_fetch_array($result); $i++) {
var_dump($day != "" && $day != $row['날짜']);// 추가
echo '<br>';// 줄바꿈
if($day != "" && $day != $row['날짜']){
echo $day . " 합산 " . $tot;
$tot = 0;
}
$day = $row['날짜'];
$tot += $row['숫자'];
echo $day . " " . $row['과일'] . " " . $row['숫자'];
}
echo $day . " 합산 " . $tot;
[/code]
if문의 결과를 찍어서 올려 주세요.
3월3일 마지막 날짜 이후 true 나와야 정상입니다.
출력 결과를 올려 주세요.
됩니다. 제가 위치를 잘못 잡았네요. 감사합니다. ^^;

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

rollup 은 너무 어려우실라나요?

로그인 후 평가할 수 있습니다

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

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

로그인
🐛 버그신고