car_number1 ~ car_number20 까지 값이 있는 컬컴에 카운트를 구할려고 합니다.
car_number1 ~ car_number3 까지 값이 있다면 3
car_number1 ~ car_number12 까지 값이 있따면 12
라고 되겠죠..
답변 4개 / 댓글 3개
채택된 답변
+20 포인트
2021-05-04 (화) 15:42:07
값이 있는 컬럼여부의 수를 더하는것이죠?
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개
2021-05-04 (화) 16:20:17
계속 0 으로만 나오는데 어디가 잘못된거 같아요.. 제가 이리저리 수정해보고 있긴 한데요.
2021-05-05 (수) 02:33:30
이미 장비 리스트 출력하는 부분에서
값이 없으면 loop를 중단하는 코드가 있는듯 한데
이 loop에서 count만 세서
나중에 출력해 주면 될 듯합니다.
2021-05-04 (화) 23:29:46
장비 관련 정보는 db table을 따로 분리하는 것이 좋을 듯합니다.
2021-05-04 (화) 16:23:16

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개
2021-05-04 (화) 16:38:15
테이블에서 car_number로 된 컬럼들이 어떻게 구성되어있는지 확인이 가능할까요?
2021-05-04 (화) 16:40:23
컬럼이 명확하면
for 문으로 확인해도 됩니다.
$row = sql_fetch($sql);
$colcnt = 0;
for ($i=1; $i <= 20; $i++ ) {
if ($row['car_number'.$i])
$colcnt++;
}
for 문으로 확인해도 됩니다.
$row = sql_fetch($sql);
$colcnt = 0;
for ($i=1; $i <= 20; $i++ ) {
if ($row['car_number'.$i])
$colcnt++;
}
답변을 작성하려면 로그인이 필요합니다.