codeigniter使用单个表单和按钮提交多个字段

codeigniter使用单个表单和按钮提交多个字段,codeigniter,multiple-forms,Codeigniter,Multiple Forms,我有多个表单,它将使用同一个字段和一个循环生成4次。我不知道如何使用循环将这些字段提交到同一个数据库表中。 我的表单如下所示: <form action="http://localhost/pages/edit" method="post" name="form"> <p><label for='short'>Name</label><br/><input type="text" name="title[]" value=""

我有多个表单,它将使用同一个字段和一个循环生成4次。我不知道如何使用循环将这些字段提交到同一个数据库表中。 我的表单如下所示:

<form action="http://localhost/pages/edit" method="post" name="form">
<p><label for='short'>Name</label><br/><input type="text" name="title[]" value=""  /></p>
    <p><label for='short'>Url</label><br/><input type="text" name="url[]" value="ddd-df-adsfasd--asdf"  /></p>
    <p><label for='short'>Short Description</label><br/><textarea name="shortdesc[]" cols="90" rows="12" id="short" size="40" ></textarea></p>
    <p><label for='long'>Long Description</label><br/><textarea name="longdesc[]" cols="40" rows="5" id="long" ></textarea></p> 
        <input type="hidden" name="category_id[]" value="124" />
<input type="submit" name="submit" value="Update"  />
</form>

名称

Url

简短描述

详细说明

此表单内容将生成4次。我对如何将这些值带到控制器并将其添加到数据库感到困惑。

尝试一下:

$fields = array('title', 'url', 'shortdesc', 'longdesc', 'category_id');

foreach ($fields as $field)
{
    foreach ($_POST[$field] as $key => $value)
    {
        $data[$key][$field] = $value;
    }
}

foreach ($data as $values)
{
    $this->db->insert('table_name', $values);
}
当然有更简单的方法可以做到这一点,但这对于您使用的表单字段名称来说是最灵活的,并且不关心您发布了多少不同的项目。您确实说过要插入,而不是更新,这是假设表列名与表单字段名匹配

您可以循环使用$\u POST数组,但这将允许您轻松发布其他字段,而无需将其值添加到插入的数组中

当你说
我有多个表单时,我有点不清楚:你需要确保它都在一个
标记中