Codeigniter将值插入数组

时间:2010-10-03 21:45:26

标签: sql codeigniter

几个小时前我就问了一个问题。

如何将表单中的字段数组插入到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传递给此数组+其他一些值,如当前时间

是否可以调整上述解决方案?

The Previous Discussion Here

2 个答案:

答案 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']数组的最后一个元素的引用。