2011-10-11 125 views
0

我想在數據庫表的一行中插入下面的複選框,但有錯誤,如何解決? (我不能在名稱複選框更改5)錯誤未定義偏移量

<input type="checkbox" name="checkbox_units_a[5][]" value="tv"> 
<input type="checkbox" name="checkbox_units_a[5][]" value="radio"> 

$name_un = $this -> input -> post('name_units_a'); 
$service_un = $this -> input -> post('checkbox_units_a'); 
$data3 = array(); 
foreach($name_un as $idx => $name) { 
    $data3[] = array(
    'name_un' => $name_un[$idx], 
    'service_un' => json_encode($service_un[$idx]),); //This is line 210 
}; 
$this -> db -> insert_batch('hotel_units', $data3); 

錯誤:

A PHP Error was encountered
Severity: Notice
Message: Undefined offset: 0
Filename: residence.php
Line Number: 210

我在var_dump輸出$name_un

array(1) { 
    [0] = > string(6)"accessories" 
} 

我在var_dump輸出$service_un

array(1) { 
    [5] = > array(2) { 
     [0] = > string(15)"tv" [1] = > string(12)"radio" 
    } 
} 
+0

您是否嘗試打印$ service_un數組:'print_r($ service_un);'? – lc2817

+0

你需要提高你的**書面英語**,這是很難理解你的問題。 – Jakub

+0

請在帖子中看到我的更新(輸出vardump)。 –

回答

1

錯誤說你的偏移量等於0 propably您$idx == 0$service_un[$idx] == null;)

編輯

,因爲我以爲$idx == 0造成不確定的json_encode嘗試偏移量爲0,以重新編制您$service_un陣列(如果你不能改變的在HTML 5),使其與0例子開始:

$service_un = array_values ($service_un); // reindexing array 

它看起來像:

array(1) { 
    [0] => array(2) { 
    [0] => string(2) "tv" 
    [1] => string(5) "radio" 
    } 
} 
+0

請參閱我的更新(輸出vardump)後 –

+0

好的,請打印'var_dump($ name_un)' – veritas

+0

請查看我的帖子獲取'var_dump($ name_un)' –

0

$service_un只有一個偏移,它的五(5),所以0是未定義在這裏。