2014-05-20 3 views
1

codeigniter을 사용하고 있습니다. 아래 배열을 사용하고 있습니다. 열 이름이 sibbling_namesibbling_age 인 데이터베이스에 데이터를 삽입하려면 어떻게합니까?배열을 sqldatabase의 열에 삽입하십시오.

CI 튜토리얼을 시도했지만 0,1,2가 db가 아니기 때문에 오류가 발생했습니다. 물론 [0]을 'sibbling_name' 열로, [0]을 sibblingAge으로 'sibbling_age' 열로 변경하는 방법은 무엇입니까? 당신이 삽입 배치를 원하는 경우

[sibblingName] => Array 
    (
     [0] => Ryan Yaohari 
     [1] => Rico Yaohari 
     [2] => Rino Yaohari 
    ) 

[sibblingAge] => Array 
    (
     [0] => 23 
     [1] => 21 
     [2] => 19 
    ) 
+0

지금까지 해보신 것은 무엇입니까? 그게 효과가 있었거나 효과가 없었습니까? 관련 모델의 코드를 표시하면 여기에서 도움을 얻을 수 있습니다. – Craine

+0

내가 대답을 찾을 수있을 것 같아요 : http://ellislab.com/codeigniter – Eddie

+0

은'sibblingName'과'sibblingAge' 분리 배열입니까? – user1978142

답변

2

manual에 따르면, 당신은 $this->db->insert_batch();를 사용해야합니다. 하지만 그 전에 먼저 값을 올바르게 형식화해야합니다. 다음 예를 고려해보십시오.

$sibblingName = array('Ryan Yaohari', 'Rico Yaohari', 'Rino Yaohari'); 
$sibblingAge = array(23, 21, 19); 
$insert_values = array(); 
for($x = 0, $size = count($sibblingName); $x < $size; $x++) { 
    $insert_values[$x] = array(
     'sibbling_name' => $sibblingName[$x], 
     'sibbling_age' => $sibblingAge[$x], 
    ); 
} 
print_r($insert_values); 
// format should be something like this: 

// Array 
// (
//  [0] => Array 
//   (
//    [sibbling_name] => Ryan Yaohari 
//    [sibbling_age] => 23 
//  ) 
//  [1] => Array 
//   (
//    [sibbling_name] => Rico Yaohari 
//    [sibbling_age] => 21 
//  ) 
//  [2] => Array 
//   (
//    [sibbling_name] => Rino Yaohari 
//    [sibbling_age] => 19 
//  ) 
//) 

// and of course in the end, use the insert_batch method. 
$this->db->insert_batch('mytable', $insert_values); 
+0

감사합니다 kevinabelita 코드가 완벽하게 작동합니다. 감사 – user3654785

관련 문제