2026, 새로운 도약을 시작합니다.

컬럼 카운트

여분필드 10개 즉, temp1~temp10 중 temp1, 2, 4 에 값이 있다면 카운트 3을 반환하게끔 해주고 싶습니다. 

$result_total = sql_fetch( "select * from g5_shop_item where mb_id = $member[mb_id] ");

하나의 컬럼은 count(temp1) as cnt1 하면 되는데 여러개 컬럼의 카운트는 어떻게 하면 될까요??

답변 3개

Copy


$result_total = sql_fetch("SELECT * FROM g5_shop_item WHERE mb_id = '{$member['mb_id']}'");

$temp_fields = ['temp1', 'temp2', 'temp4'];

$temp_count = 0;

foreach($temp_fields as $field) {

  if(!empty($result_total[$field])) {

    $temp_count++;

  }

}

echo "값이 있는 필드 개수: " . $temp_count;

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

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

질문이 불명확합니다

temp1, 2, 4 에 값이 있다면 카운트 3을 반환<==이것을 하려는 대상이 해당 아이디에 하나만 있다는 것인지 여러개가 있을 수 있고 2개가 해당 된다면 6을 반환하겠다는 것인지

질문이 명확하지 않습니다

여러개가 있다고 가정하면 다음과 같이

$row= sql_fetch("select count(*) as cnt from g5_shop_item where mb_id = '{$member['mb_id']}' and temp1 !='' and temp2 !='' and temp4 != '' ");

$cnt = $row['cnt'] * 3; //1개만 있으면 3, 2개가 있으면 6

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

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

$result_total = sql_fetch( "select * from g5_shop_item where mb_id = $member[mb_id] and temp1!='' and  temp2!='' and temp4!=''");

이런식으로 해서 값이 나오는지 여부를 체크해 보도록 처리해서 반영해 주시면 되실듯 합니다.

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

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

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

로그인
🐛 버그신고