如何将表单中的字段数组插入到Codeigniter中的SQL数据库中。
<tr>
<td><input type="text" name="user[0][name]" value=""></td>
<td><input type="text" name="user[0][address]" value=""><br></td>
<td><input type="text" name="user[0][age]" value=""></td>
<td><input type="text" name="user[0][email]" value=""></td>
<tr>
<td><input type="text" name="user[1][name]" value=""></td>
<td><input type="text" name="user[1][address]" value=""><br></td>
<td><input type="text" name="user[1][age]" value=""></td>
<td><input type="text" name="user[1][email]" value=""></td>
</tr>
..........//so on
这是我得到的最佳答案
foreach($_POST['user'] as $user)
{
$this->db->insert('mytable', $user);
}
现在我想将用户会话数据生成的id传递给此数组+其他一些值,如当前时间
是否可以调整上述解决方案?
答案 0 :(得分:0)
我不知道我在这里遗漏了什么,但你不能只删除foreach
并构建你的代码:
$var1 = $_POST['user_var1'] * 3 + 1 / 5;
$this->db->insert('mytable', $var1);
$var2 = gettime();
$this->db->insert('mytable', $var2);
....
(其中gettime()应该替换为获取时间的PHP命令,加上可能是格式化函数)
答案 1 :(得分:0)
foreach($_POST['user'] as &$user)
{
$user['additional_data'] = $_SESSION['additional_data'];
$user['current_time'] = time();
$this->db->insert('mytable', $user);
}
注意&amp; in&amp; $ user,它是一个引用传递,允许在foreach循环中操作数组。如果您以后引用用户,请记住取消设置($ user)以删除对$ _POST ['user']数组的最后一个元素的引用。