首页 文章

Codeigniter:将数组数组从视图传递到控制器

提问于
浏览
0

我有一个数组的数组,我在我的视图中循环显示它们在一个表中,我有一个确认按钮,我需要点击以将这些表数据存储在数据库中 . 我的问题是如何将这个数组数组从视图传递给我的控制器,以便继续存储到db?

我已经尝试使用表单并使用json_encode()将其作为发布数据传递以将数组转换为字符串,但没有运气 . 我收到一个错误

消息:json_decode()期望参数1为字符串,给定数组

我能以某种方式将数组变量传递给输入字段的on-click函数吗?

谢谢 .

2 回答

  • 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" }
    
  • 1

    我找到了解决问题的方法 . 这对我有用 . 我正在使用隐藏输入字段将数组数组作为字符串值传递

    json_encode($array)
    

    但问题是我的钥匙是双引号,结果是

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

    正在崩溃......

    解决方案是逃避角色,所以我不得不用上面的代替

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

    在控制器中,我必须使用以下行从json获取我的数组

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

    谢谢大家的答案!

相关问题