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

[已解决] 如何读出多条记录并逐条编辑

[复制链接]
发表于 2011-7-14 15:12:16 | 显示全部楼层 |阅读模式
本帖最后由 cccen 于 2011-7-14 20:04 编辑

也就是说我根据条件先把表里的某些记录读出来(这步我会做),然后每条记录为一行,每行都有修改、删除按钮。

我的问题是我的修改、删除按钮不起作用,不知道该怎么写?

这是我的V层代码:
HTML复制代码
<table>
<tr>
<td>序号</td>
<td>日志内容</td>
<td>日志时间</td>
</tr>
<?$i=1?>
<?foreach ($my_read_log as $log):?>
<tr>
 
<td><?=$log->id?><input type="hidden" name="id" value="<?=$log->id?>"/></td>
<td><textarea name="content<?=$i?>" rows="2" cols="100"><?=$log->content?></textarea></td>
<td><input style=" width:100px; height:20px;" type="text" name="log_date<?=$i?>" value="<?=$log->input_date?>" /></td>
<td></td>
</tr>
<?endforeach;?><?$i++?>
</table>
复制代码


这是C层:
PHP复制代码
if($this->input->post('submit'))
{
foreach ($my_read_log as $row)
{
 
$this->Mhome->my_write_log();
}
}
复制代码


这是M层:
PHP复制代码
function my_write_log()
{
$id=$this->input->post('id');
$input_date=$this->input->post('log_date'.$i);
$content=$this->input->post('content'.$i);
 
$query=$this->db->query("UPDATE log SET input_date='$input_date' AND content='$content' WHERE id='$id'");
return $this->db->affected_rows();
 
}
复制代码
 楼主| 发表于 2011-7-14 16:29:47 | 显示全部楼层
我想好像是每个按钮名字都是submit,程序无法辨别每一个按钮,但是按钮如何与ID关联起来?
发表于 2011-7-14 16:38:58 | 显示全部楼层
cccen 发表于 2011-7-14 16:29
我想好像是每个按钮名字都是submit,程序无法辨别每一个按钮,但是按钮如何与ID关联起来? ...

我已经在另外一个帖子里回了
http://codeigniter.org.cn/forums ... 85&fromuid=6570
发表于 2011-7-14 16:40:17 | 显示全部楼层
如果你是一个后面都有按钮的话,你应该一行一个表单,而不是整体一个表单
发表于 2011-7-14 18:38:32 | 显示全部楼层
你要是整体一个表单也是可以的。
具体的方法是通过异步请求的方式来操作
具体的操作可以先去看下异步操作的功能
 楼主| 发表于 2011-7-14 20:05:19 | 显示全部楼层
binbin :一条条改更适合于我的程序

异步,ajax?
发表于 2011-7-14 22:48:22 | 显示全部楼层
用jquery + ajax
发表于 2011-7-14 22:49:17 | 显示全部楼层
http://www.php100.com/html/shipinjiaocheng/PHP100shipinjiaocheng/2011/0613/8297.html
这个视频教程应该适合你
发表于 2011-7-15 09:10:23 | 显示全部楼层
这跟异步不异步没什么关系,关键是要获取准确的数据。
上面说的异步的核心也就是使用js获取表单数据发送给php操作,道理都是一样的。
关键的问题还是你要灵活运用表单以及表单域的name属性。

本版积分规则