Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/243.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php CI-帮助插入多个选择表单,每个表单都有多个选择选项_Php_Mysql_Sql_Codeigniter - Fatal编程技术网

Php CI-帮助插入多个选择表单,每个表单都有多个选择选项

Php CI-帮助插入多个选择表单,每个表单都有多个选择选项,php,mysql,sql,codeigniter,Php,Mysql,Sql,Codeigniter,我试图将玩家列表插入表中同一行的多个列中。这些玩家按位置分组,因此他们有自己的选择表单,我希望检索并插入到单个SQL中(我还使用javascript限制选择的选项数量) Table: contests_rosters id, player1, player2, player3, player4 player1 and player2 will be from select name "forwards[]" player3 and player4 will be from select nam

我试图将玩家列表插入表中同一行的多个列中。这些玩家按位置分组,因此他们有自己的选择表单,我希望检索并插入到单个SQL中(我还使用javascript限制选择的选项数量)

Table: contests_rosters
id, player1, player2, player3, player4

player1 and player2 will be from select name "forwards[]"
player3 and player4 will be from select name "defenders[]"
问题是,当我在控制器中调用post时,我不知道如何操作数组,以便可以执行一次插入而不是多次插入

你能帮我吗?--另外,如果你能告诉我什么是返回的职位,并解释操作步骤,使我能理解,这将是非常感谢

查看-这些选项由ajax检索

Select Forward
<br/><br/>
<fieldset>
    <select name="search_forward" id="players_forwards" multiple size="25" style="width:500px">
    </select>

    <a href="JavaScript:void(0);" id="btn-add_forward">Add &raquo;</a>
    <a href="JavaScript:void(0);" id="btn-remove_forward">&laquo; Remove</a>

    <select name="forwards[]" id="players_forwards_selected" multiple size="2" style="width:500px">
    </select>

</fieldset>
<br /><br />

Select Defender
<br/><br/>
<fieldset>
    <select name="search_defender" id="players_defenders" multiple size="25" style="width:500px">
    </select>

    <a href="JavaScript:void(0);" id="btn-add_defender">Add &raquo;</a>
    <a href="JavaScript:void(0);" id="btn-remove_defender">&laquo; Remove</a>

    <select name="defenders[]" id="players_defenders_selected" multiple size="3" style="width:500px">
    </select>

</fieldset>
<br /><br />

经过多次尝试和错误,我终于找到了以下解决方案。不确定这是否是最干净的解决方案,但它确实有效。我很高兴听到你的想法

控制器

$data1 = $this->input->post('forwards');
$data2 = $this->input->post('defenders');

.....manipulation, then insert into table
$forwards_post = $this->input->post('forwards');
$defenders_post = $this->input->post('defenders');

$forwards = array(
            'player1'       =>      $forwards_post[0],
            'player2'       =>      $forwards_post[1]
        );

$defenders = array(
            'player3'       =>      $defenders_post[0],
            'player4'       =>      $defenders_post[1]
        );

$data_entry = array_merge($forwards, $defenders);
阵列现在可以在模型中进行单个插入了

$this->input('contests_rosters', $data_entry);

瞧。

经过多次尝试和错误,我终于找到了以下解决方案。不确定这是否是最干净的解决方案,但它确实有效。我很高兴听到您的想法

控制器

$data1 = $this->input->post('forwards');
$data2 = $this->input->post('defenders');

.....manipulation, then insert into table
$forwards_post = $this->input->post('forwards');
$defenders_post = $this->input->post('defenders');

$forwards = array(
            'player1'       =>      $forwards_post[0],
            'player2'       =>      $forwards_post[1]
        );

$defenders = array(
            'player3'       =>      $defenders_post[0],
            'player4'       =>      $defenders_post[1]
        );

$data_entry = array_merge($forwards, $defenders);
阵列现在可以在模型中进行单个插入了

$this->input('contests_rosters', $data_entry);