foreach 값에 금액도 포함시키고 싶습니다.

foreach 값에 금액도 포함시키고 싶습니다.

QA

foreach 값에 금액도 포함시키고 싶습니다.

본문

입력값

<tr><td>
<select name="wr_12[]">
    <option value="딸기">딸기</option>
    <option value="감자">감자</option>
    <option value="레몬">레몬</option>
    <option value="수박">수박</option>
</select>
<input value="wr_21[]" value="">수량</input>
<input value="wr_26[]" value="">금액</input>
</td></tr>
<tr><td>
<select name="wr_12[]">
    <option value="딸기">딸기</option>
    <option value="감자">감자</option>
    <option value="레몬">레몬</option>
    <option value="수박">수박</option>
</select>
<input value="wr_21[]" value="">수량</input>
<input value="wr_26[]" value="">금액</input>
</td></tr>

php

$sql = "
        select
            group_concat(wr_12 separator '||') wr_12,
            group_concat(wr_21 separator '||') wr_21,
            group_concat(wr_26 separator '||') wr_26
          from {$write_table}
             where wr_29 between '{$stx1}' and '{$stx2}'
            ";
        $result = sql_query($sql, true);
        while ($row = sql_fetch_array($result)) {
            $list_product = explode('||',$row['wr_12']);
            $list_volume = explode('||',$row['wr_21']);
            $list_money = explode('||',str_replace(',', '', $row['wr_26']));
            
            $result_array = array();
            foreach ($list_product as $key=>$val)
            {
                $result_array[$list_product[$key]] += $list_volume[$key];
            }
            arsort($result_array);
                foreach ($result_array as $key=>$val) { ?>
        <tr>
            <td><?php echo $key; ?></td>
            <td><?php echo $val; ?></td>
        </tr>
        <?php } }  ?>

도움을 받아서 원하는 결과값이 나왔습니다.

품명     수량      금액
딸기    12
멜론    14
수박    1
감자    1


여기에서 금액을 더 추가하고 싶은데 금액은 어떻게 해야 하나요?
개수만 더해지면 다른건 쉽게 붙일수 있을거 같았는데.. 너무 어렵네요 ㅠㅠ

금액은 $list_money 입니다.

이 질문에 댓글 쓰기 :

답변 2


<?php
$sql = "
        select
            group_concat(wr_12 separator '||') wr_12,
            group_concat(wr_21 separator '||') wr_21,
            group_concat(wr_26 separator '||') wr_26
          from {$write_table}
             where wr_29 between '{$stx1}' and '{$stx2}'
";
$result = sql_query($sql, true);
while ($row = sql_fetch_array($result)) {
    $list_product = explode('||',$row['wr_12']);
    $list_volume = explode('||',$row['wr_21']);
    $list_money = explode('||',str_replace(',', '', $row['wr_26']));
    
    $result_array = array();
    foreach ($list_product as $key=>$val)
    {
        if (isset($result_array[$list_product[$key]]) == false) {
            $result_array[$list_product[$key]] = array(0, 0);
        }
        $result_array[$list_product[$key]][0] += $list_volume[$key];
        $result_array[$list_product[$key]][1] += $list_money[$key];
    }
    arsort($result_array);
        foreach ($result_array as $key=>$val) { ?>
<tr>
    <td><?php echo $key; ?></td>
    <td><?php echo $val[0]; ?></td>
    <td><?php echo $val[1]; ?></td>
</tr>
<?php } }  ?>

지금까지 질문 내용을 보았는데

왠지 어려운 방식으로 해결하는 듯 보입니다.

질문에 있드시 wr_12가 제품명, wr_21이 수량, wr_26이 금액이고

이걸 통계를 내는게 목표였는데 어찌되었던 지금 원하는 값은 나온듯 합니다.

품명    수량      금액
딸기    12        60,000
멜론    14        154,000 
수박    1        3,000
감자    1        2,000

이렇게 나오길 원했었습니다.

입력값은 게시글에 있는게 전부입니다.
그냥 제품을 주문하는 형식입니다.
이런식으로 제품명과 크기, 제품 수량과 금액, 비고내용이 들어가 있고..
<tr><td>
<select name="wr_12[]">
    <option value="딸기">딸기</option>
    <option value="감자">감자</option>
    <option value="레몬">레몬</option>
    <option value="수박">수박</option>
</select>
<select name="wr_13[]">
    <option value="대">소</option>
    <option value="중">소</option>
    <option value="소">소</option>
</select>
<input value="wr_21[]" value="">수량</input>
<input value="wr_26[]" value="">금액</input>
<input value="wr_27[]" value="">비고</input>
</td></tr>
<tr><td>
<select name="wr_12[]">
    <option value="딸기">딸기</option>
    <option value="감자">감자</option>
    <option value="레몬">레몬</option>
    <option value="수박">수박</option>
</select>
<select name="wr_13[]">
    <option value="대">소</option>
    <option value="중">소</option>
    <option value="소">소</option>
</select>
<input value="wr_21[]" value="">수량</input>
<input value="wr_26[]" value="">금액</input>
<input value="wr_27[]" value="">비고</input>
</td></tr>


통계내는 목적은 월단위, 주단위로 통계를 내기 위한 목적입니다.
어떤 제품이 많이 팔렸는지 등등
말 그대로 가장 많이 팔린 제품, 그 제품의 개수, 금액 등등을 확인하기 위함입니다.

주문이 목적이군요.
매 주문마다 가격이 달라지나 보군요.
쉽게 하자면
wr_21~28까지
딸기    수량, 주문 금액
멜론    ", "
수박  " , "
감자  " , "
이렇게 값을 저장하면 될 듯 합니다.

제대로 하자면
 주문 테이블을 따로 만드시는 것이 좋습니다.

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

회원로그인

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