2016-05-10 194 views
0

我有一個數組數組,我在視圖中循環顯示它們在一個表中,我有一個確認按鈕,我需要點擊才能將這些表數據存儲在D b。我的問題是如何將這個數組的數組從視圖傳遞給我的控制器,以便繼續存儲到數據庫?Codeigniter:從視圖到控制器傳遞陣列數組

我試過使用表單並將它作爲發佈數據使用json_encode()將數組轉換爲字符串,但沒有運氣。我得到一個錯誤

消息:json_decode()預計參數1是字符串數組給定

可我不知該數組變量傳遞給我的輸入字段上單擊功能?

謝謝。

+1

你能發表一些片段嗎? –

回答

1

我找到了解決我的問題。這是對我有用的東西。 我是通過我的數組的數組作爲字符串值在一個隱藏的輸入字段使用

json_encode($array) 

但問題是,我的鑰匙了雙引號,因此在

value="<?php echo json_encode($array);?>" 

被打破...

的解決方案是逃脫字符,所以我有

value="<?php echo htmlspecialchars(json_encode($array));?>" 
替換上面的行

和Controller我不得不JSON讓我陣列以下行

$dataJson = $this->input->post('array'); 
$dataArray = json_decode(htmlspecialchars_decode($dataJson), true); 

感謝大家的答案!

1

您可以在URL字符串這樣傳遞數組:

?arr[]=val1&arr[]=val2 //pass as the url param 
//in controller 
var_dump($_GET["arr"]); 

//result should be 
array(2) { [0]=> string(4) "val1" [1]=> string(4) "val2" } 
相關問題