제목 | foreach 관련 질문입니다 | ||
---|---|---|---|
글쓴이 | 함박눈 | 작성시각 | 2016/01/18 13:11:54 |
|
|||
모델쪽에 foreach문에서 continue를 사용하여 db에 필드값이 없을 경우 다음 값으로 넘어가게끔 하였습니다 그런데 웹에서 에러가 뜨고 sql을 확인해보니 값이 없는 부분에서는 foreach문이 돌지 않는거 같아요 SELECT COUNT(is_num) as num_value FROM user_moe003_022.ci_substance SELECT COUNT(is_num) as num_value FROM user_(계정명이 안들어오는 부분).ci_substance 위의 쿼리문처럼 continue가 안듣고 필드값이 없는 부분에서 에러가 납니다ㅠ 이런 경우에 continue가 돌게 하려면 어떻게 해야 하나요? continue말고 다른 방법이 있는지도 알려주세요ㅠ
foreach문에서 continue를 적용한 소스는 아래와 같습니다
foreach ($query->result_array() as $row){ if(@!$row[cs_db]) continue; //continue문 적용한 부분 $row['my_substance_count'] = $this->my_substance_count($row[cs_db]); //$row를 넘겨주는 함수$row['substance_count'] = $this->get_substance_count(); $result['member_use_m'][] = $row;}return $result;} } return $result; }
|
|||
다음글 | 책에 ajax 예제 왜 작동이안되는지좀 봐주세요.(수정... (8) | ||
이전글 | DB 질문입니다. (5) | ||
한대승(불의회상)
/
2016/01/18 13:45:17 /
추천
0
|
함박눈
/
2016/01/18 14:08:54 /
추천
0
//한대승(불의회상) 답글주신 소스코드를 적용해보았는데 아래와 같은 에러가 나네요 Parse error: syntax error, unexpected T_BOOLEAN_OR, expecting ',' or ')' in 그리고 isset()함수를 왜 써야하는지 모르겠어요 isset()은 bool타입으로 true나 false를 반환하잖아요...? 혹시 이 방법말고 다른방법 있을까요?ㅠ |
한대승(불의회상)
/
2016/01/18 15:06:30 /
추천
0
syntax 에러가 났으니 일단 그걸 먼저 해결하세요. isset() 함수는 $row에 'cs_db' 로 인덱싱된 배열객체가 있는지 확인 하는겁니다. |
함박눈
/
2016/01/18 15:33:36 /
추천
0
//한대승(불의회상) syntax 에러를 해결하기 위해 구문을 조금 변경했습니다. if(!isset($row['cs_db'])) continue; 이렇게요. syntax 에러는 없어졌지만 이전과 같은 에러가 database 에러가 나네요ㅠ 이전에 작성했던 소스는 if문을 사용했었습니다. if(!$row[cs_db]) continue; $row['cs_db']가 없으면 건너뛰게끔 하려구요. 그런데 여전히 continue가 먹질않고 에러가 납니다. 혹시 continue말곤 다른 방법은 없을까요? |
한대승(불의회상)
/
2016/01/18 16:06:32 /
추천
0
var_dump로 $row 에 값이 어떤식으로 들어가는지 확인 해 보세요. |
아래 처럼 바꿔 보세요.