| 제목 | for문을 사용하여 db에 데이터를 넣을려고 하는데 한번만 db에 데이터가 들어간 후 for문을 나와버리네요; | ||
|---|---|---|---|
| 카테고리 | PHP | ||
| 글쓴이 | 정수리 | 작성시각 | 2016/11/16 14:18:20 | 
| 
                         | 
                |||
                        
$sql = 'select jds_gigwan.gg_pk from jds_pact inner join jds_gigwan on jds_pact.gg_pk=jds_gigwan.gg_pk where pg_pk=?';
				$query =  $this->db->query($sql, $data['pg_pk']);
				$result =  $query->result();
				
				$sql = 'insert into jds_pinfo(gg_pk, pg_pk, pi_vs, pi_info) values(?, ?, ?, ?)';
				
				echo count($result);
			
				for($i=0; $i<count($result); $i++){	
				
				$result =  $this->db->query($sql, array($result[$i]->gg_pk, $data['pg_pk'], $data['up_version'], $data['up_ct']));
				echo $i;
				}
 첫번째 selet문을 돌여서 gg_pk의 갯수를 가져 온후에 for문을 사용하여 
 gg_pk의 갯수만큼 데이터를 넣을려고 합니다; 
 중간 중간 echo문을 통해 확인을 해보았는데 
 for문 이전에 echo count($result)를통해 17개 찍히는것 확인하였습니다 
 그리고 for문 안에 echo $i를 통해 $i가 몇인지 확인해보았는데 0만 찍히고 그다음부터는 안찍히더라구요;; 정상적이라면 count($result)17이니 17찍혀야 되는데 ㅜㅜ 데이터가 1번만 찍히고 for문을 나오는것 같습니다; for문 안에 return도 없는데 말이죠 다른 코드에서 for문을 통해 데이터를 넣었을때는 잘들어갔는데 새로 만드는 페이지에서는 안되네요;; 무엇이 원인인지 알수있을까요??;  | 
                |||
| 다음글 | 카드결제기능이 아닌 자동이체 모듈을 구현할수 있나요? (2) | ||
| 이전글 | RAD Studio XE7 사용하 실줄 아시는분 (2) | ||
| 
                             
                                배강민
                                /
                                2016/11/16 14:45:15 /
                                추천
                                0
                             
                             | 
                    
| 
                             
                                정수리
                                /
                                2016/11/16 15:26:58 /
                                추천
                                0
                             
                            @배강민 감사합니다 말씀하신대로 $result= 를 바꿔서 해보니 정상적으로 잘 들어갑니다. 감사합니다.  | 
                    
해보진 않았지만, $result 기준으로 for문을 돌면서 그안에서 $result를 바꿔버리고 있어서인듯합니다.
for 안의 $result = 를 $result2 = 등 다른 이름으로 해보시면 될듯 합니다.
즉, 첫 루프돌고나서 $result가 insert문의 결과로 재세팅되버리니 루프돌게 없어서 끝나버리는 듯 합니다.