CI - 帮助插入多个选择表单,每个表单都有多个选定选项
Posted
技术标签:
【中文标题】CI - 帮助插入多个选择表单,每个表单都有多个选定选项【英文标题】:CI - Help Inserting Multiple Select Form with each having Multiple Selected Options 【发布时间】:2016-08-23 07:34:10 【问题描述】:我正在尝试将玩家列表插入到表格同一行的多个列中。这些玩家按位置分组,因此他们有自己的选择表单,我希望检索并插入到单个 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 时,我不知道如何操作数组,以便我可以进行一次插入而不是多次插入。
你能帮帮我吗? -- 另外,如果您能告诉我帖子的返回内容并解释操作步骤以便我理解,将不胜感激。
VIEW - 选项由 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 »</a>
<a href="JavaScript:void(0);" id="btn-remove_forward">« 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 »</a>
<a href="JavaScript:void(0);" id="btn-remove_defender">« 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
【问题讨论】:
【参考方案1】:经过反复试验,我设法找到了以下解决方案。不确定这是否是最干净的解决方案,但它有效。很高兴听到您的想法。
控制器
$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);
瞧。
【讨论】:
以上是关于CI - 帮助插入多个选择表单,每个表单都有多个选定选项的主要内容,如果未能解决你的问题,请参考以下文章