如何在CodeIgniter中将数据发布到数组中?帖子项目是数组

 用途回家 发布于 2023-02-13 18:32

在CodeIgniter中,我正在尝试从共享相同名称的表单输入完成批量更新.但不知道如何将数据发布到数组中.表格的简化视图如下:






在我的控制器中,我现在有这个:

function set_sort_order(){
    $data = array(
        array('id' => 1,'sort_order' => 14),
        array('id' => 2,'sort_order' => 5),
        array('id' => 3,'sort_order' => 9)
    );
    $this->db->update_batch('press_releases', $data, 'id');//works!
    $this->load->view(pr_listing);
}

该数组是硬连线的,用于在input_batch函数中进行测试,该函数正常工作.那么如何将后期数据放入数组呢?

2 个回答
  • $id = $this->input->post('id');
    $sort_order = $this->input->post('sort_order');
    $data = array();
    foreach($id as $key=>$val)
    {
      $data[] = array('id'=>$val,'sort_order'=>$sort_order[$key]);
    }
    

    2023-02-13 18:33 回答
  • 只是本质上使用括号表示法命名输入字段的方式(即fieldname[])将导致PHP自动将这些字段中的数据填充到数组中.简单访问它们像:

    $ids = $_POST['id'];
    $titles = $_POST['title'];
    // etc.
    

    您可以轻松地将这些组合成一个多维数组

    $final_array = array();
    $length = count($ids);
    for($i = 0; $i < $length; $i++) {
        $final_array[$i]['id'] = $ids[$i];
        $final_array[$i]['title'] = $titles[$i];
        // etc.
    }
    var_dump($final_array);
    

    注意:我的示例中没有显示任何输入数据验证/清理步骤.您可能希望在使用之前验证输入数据是否存在,格式是否正确等.

    2023-02-13 18:34 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有