이전 목록 다음
채택완료

2가지 질문을 좀 드릴게요

Copy
<?php 
$sql = " select *, count('orderid') as cnt from g5_order where mb_id = '{$member['mb_id']}' ";
$res = sql_query($sql);
while($row=sql_fetch_array($res)){
?>

<?php if($row['cnt'] >= 2){ ?>
<?php echo $row['orderid'] ?>
//2개 이상일때

<?php }else { ?>
//2개 미만일때
<?php } ?>

이렇게 했을때 <?php echo $row['orderid'] ?> 출력이 안되는데 이거 출력하는 방법이랑요

$row['orderid'] 이거 출력할때 데이터가 여러개 있잖아요 

예를들어 $row['orderid'] 1 $row['orderid'] 2 $row['orderid'] 3 

이런식으로 데이터들이 출력이 되잖아요

그럼 $row['orderid']1,$row['orderid']2,$row['orderid']3 이런식으로 콤마를 찍고 싶은데 방법이 있을까요?

 

|

답변 2개 / 댓글 3개

채택된 답변
+20 포인트

Copy
<?php 
$sql = " 
  select orderid, count(*) as cnt 
    from g5_order 
   where mb_id = '{$member['mb_id']}' 
   group by orderid
";

$res = sql_query($sql);

while ($row = sql_fetch_array($res)) {
?>
<?php if ($row['cnt'] >= 2) { ?>
<?php echo $row['orderid'] . ',' ?>
//2개 이상일때
<?php } else { ?>
//2개 미만일때
<?php } ?>
<?php } ?>

답변에 대한 댓글 3개

<?php echo $row['orderid'] . ',' ?> 1개밖에 출력이 안되네요..ㅠㅠ
더 이상 잘 모르겠습니다.
주문번호가 동일한 것이 없기 때문에 이 코드는
하나밖에 나오지않습니다
아래 두번 쿼리하라는 답변은 이해 안되나요?

카운트 해서 2이상이면 추출 쿼리코드를 한번 더 하도록 만들어야합니다

한꺼번에 컴마로 합쳐서 출력하는 방법은 group_concat 사용법을 익히세요

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

🐛 버그신고