테스트 사이트 - 개발 중인 베타 버전입니다

쿼리문 질문 드립니다. 채택완료

밀랍 3년 전 조회 2,090

$write_table = $g5['write_prefix'] . $bo_table;

$sum_count = "0";

$sql = "

    select a.mb_id, a.wr_50, b.mb_name, 

        group_concat(wr_12 separator '||') wr_12a, 

        group_concat(wr_13 separator '||') wr_13a, 

        group_concat(wr_14 separator '||') wr_14a, 

        count(*) as cnt , sum(a.wr_23) as tot

      from {$write_table} a

               left outer join {$g5['member_table']} b on a.mb_id = b.mb_id

     where wr_29 between '{$stx1}' and '{$stx2}' and wr_50 like '%{$stx10}%'

";

    $result = sql_query($sql,true);

    while ($row = sql_fetch_array($result)) {

    $list_nameb = explode('||',$row['wr_12a']);

    $list_nameb = array_diff($list_nameb, array('제품선택'));

    $numb = array_count_values($list_nameb);

    $sum_count ++

?></p>

<p>

<?php foreach( $numb as $key => $value ){ ?>

    <tr>

        <td><?php echo $key; ?></td>

        <td><?php echo $value?> 개</td>

    </tr>

<?php } }?></p>

<p>

판매 내역을 뽑고 있습니다. wr_12에 제품명, wr_13에 색상, wr_14에 수량이 배열로 입력되어 있습니다.

wr_12의 개수와 wr_14의 숫자를 합해서 뿌리고 싶은데 현재는 wr_12의 개수만 나오고 있습니다.

wr_12의 첫번째와 wr_14의 첫번째를 곱해서 뿌려줄려면 어떻게 해야 하나요?

 

자꾸 기초적인 질문을 드려서 죄송합니다.

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

답변 2개

group by
가 없는데
group_concat()
를 쓰셨을까요?
로그인 후 평가할 수 있습니다

답변에 대한 댓글 2개

밀랍
3년 전
제가 잘 몰라서...
group by a.wr_12 로 묶으니까 오히려 나눠지는 현상이 나오더라구요..
group by를 안했을때는 정상적으로 값이 나오고... ㅠㅠ
엑스엠엘
3년 전
어떤 페이지에서 이 query문을 사용하시나요?
list.skin.php, view.skin.php ...

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

3년 전

wr12 첫 번째 와 wr14 첫번째라는 것이 쿼리 해서 나온 첫번째 열 말하는 건가요?

그리고 컬럼 값이 문자열 인지 정수형 숫자 인지.. 쿼리 결과를 대충이라도 보여주셔야 할 거 같습니다.

 

해당 보기에 wr12는 제품명이라 문자열이고 wr14는 수량인데 어떻게 곱하기를 하나요?

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

답변에 대한 댓글 2개

김실장3
3년 전
https://fruitdev.tistory.com/16
여기 한번 보시면 도움이 되시려나 모르겟습니다.
밀랍
3년 전
<?php foreach( $numb as $key => $value ){ ?>
<tr>
<td><?php echo $key; ?></td>
<td><?php echo $value?> 개</td>

이렇게 뿌렸을때
key는 제품명
value는 제품명의 개수가 출력되고 있습니다.

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

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

로그인