如何在CodeIgniter中使用输出JSON将添加的数据保存到数据库中

wz8daaqr  于 2022-12-07  发布在  其他
关注(0)|答案(2)|浏览(115)

我有一个字段,当用户将添加另一个数据时,它可以是多个。下面是一个屏幕截图:

这是我的html代码

<tr>
                <td>経歴(学歴)</td>
                <td>
                    <div id="academic">
                        <select name="c_ac_year">
                            <option value="2019">2019</option>
                            <option value="2018">2018</option>
                            <option value="2017">2017</option>
                        </select>
                        <select name="c_ac_month">
                            <option value="January">January</option>
                            <option value="February">February</option>
                            <option value="March">March</option>
                        </select>
                        <input type="text" id="form-control" name="c_ac_desc">
                    </div>
                    <div id="new_chq"></div>
                    <a href="" class="add">Add</a>
                </td>
            </tr>
            <tr>

当点击添加时,另一组字段将被添加。我将如何以数组形式将这些数据保存在数据库中?

3b6akqbq

3b6akqbq1#

你需要在HTML端使用php array[]输入,如下所示:

<div id="academic">
   <select name="c_ac_year[]">
      <option value="2019">2019</option>
      <option value="2018">2018</option>
      <option value="2017">2017</option>
  </select>
  <select name="c_ac_month[]">
      <option value="January">January</option>
      <option value="February">February</option>
      <option value="March">March</option>
 </select>
 <input type="text" id="form-control" name="c_ac_desc[]">

在PHP端,你可以得到值:

if(!empty($_POST))
{
    $years = $_POST['c_ac_year']; //or $this->input->post('c_ac_year');
    $months = $_POST['c_ac_month']; // or $this->input->post('c_ac_month');
    $descs = $_POST['c_ac_desc']; // or $this->input->post('c_ac_desc');
     $response = array();
    foreach($years as $key=> $year)
    {
       $response[$key]['year'] = $year;
       $response[$key]['month'] = $months[$key];
       $response[$key]['desc'] = $descs[$key];
    }
    echo json_encode($response); exit;
}

输出将为:

[
{
year: "2019",
month: "January",
desc: "value 1",
},
{
year: "2018",
month: "February",
desc: "value 2",
},
{
year: "2017",
month: "March",
desc: "value 3",
},
]
hc2pp10m

hc2pp10m2#

在html中使用数组名称,如name="c_ac_year[]"
然后在控制器中$this->input->post('c_ac_year');将是一个数组,您可以使用索引来获取该行的其他关联字段

相关问题