db 여러컬럼 카운트 뽑기 채택완료

car_number1 ~ car_number20 까지 값이 있는 컬컴에 카운트를 구할려고 합니다.

 

car_number1 ~ car_number3 까지 값이 있다면 3

car_number1 ~ car_number12 까지 값이 있따면 12

 

라고 되겠죠..

 

 

 

 

답변 4개

채택된 답변
+20 포인트

값이 있는 컬럼여부의 수를 더하는것이죠?

 

Copy
$sql = "select * form g5_write_carinfo where 조건 ";

$row = sql_fetch($sql);

$colcnt = 0;

foreach($row as $key => $value) {

    if (strrpos($key, "car_number") !== false) {   

      //컬럼의 수를 알수없고, 컬럼명이 car_number에 해당되는 모든 경우의 수만 체크

        if ($value)  // 값이 존재하는 경우

            $colcnt++;    

    }

}

echo "값이 있는 컬럼수 : ".$colcnt."<BR>";

 

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

답변에 대한 댓글 1개

계속 0 으로만 나오는데 어디가 잘못된거 같아요.. 제가 이리저리 수정해보고 있긴 한데요.

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

이미 장비 리스트 출력하는 부분에서

값이 없으면 loop를 중단하는 코드가 있는듯 한데

이 loop에서 count만 세서

나중에 출력해 주면 될 듯합니다.

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

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

장비 관련 정보는 db table을 따로 분리하는 것이 좋을 듯합니다.

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

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

662111144_1620113042.3108.png

 

Copy
<?php
                        $sql2 = " select * form {$g5['member_table']} where type = '파트너스' and mb_id ='{$row['mb_id']}' ";
                        $rowcnt = sql_fetch($sql2);
                        $colcnt = 0;
                        foreach($rowcnt as $key => $value) {
                            if (strrpos($key, "car_number") !== false) {   
                              //컬럼의 수를 알수없고, 컬럼명이 car_number에 해당되는 모든 경우의 수만 체크
                                if ($value)  // 값이 존재하는 경우
                                    $colcnt++;    
                            }
                        }        
                    ?>

 

<span>장비</span> <?php echo $colcnt; ?>대

 

 

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

답변에 대한 댓글 2개

테이블에서 car_number로 된 컬럼들이 어떻게 구성되어있는지 확인이 가능할까요?
컬럼이 명확하면
for 문으로 확인해도 됩니다.

$row = sql_fetch($sql);
$colcnt = 0;
for ($i=1; $i <= 20; $i++ ) {
if ($row['car_number'.$i])
$colcnt++;
}

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

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

로그인
🐛 버그신고