【问题标题】:Codeigniter Form with multiple insert row具有多个插入行的 Codeigniter 表单
【发布时间】:2014-06-07 16:50:20
【问题描述】:

我想添加具有多个重复表单的多行,我被困在模型上。

1#我添加玩家,玩家可以有1个或N个工作。

2# 创建玩家时,您可以添加一个或多个相同形式的工作。默认情况下,我只为 1 个工作显示 1 个输入,但是如果您单击按钮,则会显示一个新输入来为该新玩家填充一个新工作。

我的看法:

Name<input type="text" name="name" value="<?php echo set_value('name'); ?>" />

Jobs<input type="text" name="jobs[0]" value="<?php echo set_value('jobs[0]'); ?>" />

<button id="add_job">Add new job</button>

<!-- if button click, jquery add new input -->
Jobs 2<input type="text" name="jobs[1]" value="<?php echo set_value('jobs[1]'); ?>" />

我的控制器:

$this->form_validation->set_rules('name', 'name', 'trim|required|min_length[3]|max_length[64]');
$this->form_validation->set_rules('jobs[]', 'job', 'trim|required|min_length[3]|max_length[64]');

...

$this->players_model->create_player($img['file_name'])

我的模特:

function create_player($pic)
{
    $new_member_insert_data = array(  
        'name' => $this->input->post('name'),
        'pic' => $pic
    );
    $insert = $this->db->insert('players', $new_member_insert_data);
    $id_player = $this->db->insert_id();

    // problem starts here
    $new_member_insert_jobs = array();

    //for() {
        $new_member_insert_jobs [] = array(
            'id_player' => $id_player,
            'job' => $this->input->post('jobs')[]
        );
    //}
    $this->db->insert_batch( 'estudios', $new_member_insert_jobs );

【问题讨论】:

  • $new_member_insert_jobs 是一个数组,但没有赋值
  • 看起来不错,除了我不确定'job' =&gt; $this-&gt;input-&gt;post('jobs')[] 这个值是一个数组可能会搞砸insert_batch

标签: php codeigniter


【解决方案1】:

你可以试试代码

            $name = $this->input->post('name');
        $job= $this->input->post('job');

            $count =count($this->input->post('job')); //number job
            $data2 =array();
                for($i=0; $i<$count; $i++)  
                {
                                  $data2[] = array(
                  'name' => $name,
                                     'job' => $job[$i],
                                     );     
                                }
         $this->db->insert_batch('estudios', $data2);

【讨论】:

    猜你喜欢
    • 2019-07-31
    • 1970-01-01
    • 2018-02-02
    • 1970-01-01
    • 2013-12-01
    • 2017-08-21
    • 1970-01-01
    • 1970-01-01
    • 2017-03-20
    相关资源
    最近更新 更多