我有一个数组数组,我在视图中循环显示它们在一个表中,我有一个确认按钮,我需要点击才能将这些表数据存储在D b。我的问题是如何将这个数组的数组从视图传递给我的控制器,以便继续存储到数据库?Codeigniter:从视图到控制器传递阵列数组
我试过使用表单并将它作为发布数据使用json_encode()将数组转换为字符串,但没有运气。我得到一个错误
消息:json_decode()预计参数1是字符串数组给定
可我不知该数组变量传递给我的输入字段上单击功能?
谢谢。
我有一个数组数组,我在视图中循环显示它们在一个表中,我有一个确认按钮,我需要点击才能将这些表数据存储在D b。我的问题是如何将这个数组的数组从视图传递给我的控制器,以便继续存储到数据库?Codeigniter:从视图到控制器传递阵列数组
我试过使用表单并将它作为发布数据使用json_encode()将数组转换为字符串,但没有运气。我得到一个错误
消息:json_decode()预计参数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);
感谢大家的答案!
您可以在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" }
你能发表一些片段吗? –