用户
 找回密码
 入住 CI 中国社区
搜索
查看: 5145|回复: 12
收起左侧

[已解决] CI如何做循环插入数据?

  [复制链接]
发表于 2011-4-20 11:28:41 | 显示全部楼层 |阅读模式
FORM表单是这样的:
HTML复制代码
 
<form action="index/add" methed="post">
 
<input name="name[]"  /><br />
<input name="type[]" /><br />
<input name="content[]" /><br />
 
<input name="name[]"  /><br />
<input name="type[]" /><br />
<input name="content[]" /><br />
 
<input name="name[]"  /><br />
<input name="type[]" /><br />
<input name="content[]" /><br />
 
<input name="name[]"  /><br />
<input name="type[]" /><br />
<input name="content[]" /><br />
 
<input name="name[]"  /><br />
<input name="type[]" /><br />
<input name="content[]" /><br />
 
</form>
 
复制代码


这个内容的循环次数是不定的,现在有两个问题请教,首先HTML表单部分是不是这么写啊?第二个:CI这部分的ACTIVE RECORD怎么写?
发表于 2011-4-20 13:15:12 | 显示全部楼层
跟纯PHP无差别啊,以前怎么写,现在还是怎么写
 楼主| 发表于 2011-4-20 14:07:18 | 显示全部楼层
回复 2# jeongee


      能写个代码示例片段吗?我不太会
发表于 2011-4-20 14:11:28 | 显示全部楼层
回复 3# drop0118


   你不用CI的时候怎么写的先放出来看看~
 楼主| 发表于 2011-4-20 14:24:08 | 显示全部楼层
回复 4# jeongee


    呃  不会···
发表于 2011-4-20 14:30:22 | 显示全部楼层
PHP复制代码
 
$name = $this->input->post('name');
$type = $this->input->post('type');
$content = $this->input->post('content');
foreach($name as $key => $val)
{
    $data = array(
        'name' => $val,
        'type' => $type[$key],
        'content' = $content[$key]
    );
    $this->db->insert('table', $data);
}
 
复制代码
 楼主| 发表于 2011-4-20 14:41:41 | 显示全部楼层
回复 6# huboo82


    谢谢啦!
发表于 2011-4-20 15:26:57 | 显示全部楼层
huboo82 发表于 2011-4-20 14:30



    这样会不会有个问题,就是如果,我有一个变量没填写,那么你循环出来的时候肯定会少一个变量,那么就变成了name[1]变量本应为空的却填入了name[2]变量的值
 楼主| 发表于 2011-4-20 16:05:03 | 显示全部楼层
这样会不会有个问题,就是如果,我有一个变量没填写,那么你循环出来的时候肯定会少一个变量,那么就变 ...
zhouli520 发表于 2011-4-20 15:26



    是啊!是个严重的问题啊!
发表于 2011-4-21 16:24:15 | 显示全部楼层
是啊!是个严重的问题啊!
drop0118 发表于 2011-4-20 16:05

可以先判空,其实sql可以写成一条就行了,呵呵

本版积分规则