ci数据库操作实例篇(三)——删除数据 一步一步跟着学
转载自:http://www.phpall.cn/forum/read.php?tid=48本教程由PHPall发布,希望大家提出宝贵的意见,我们好完善与改正。
PHPall技术交流群① 75345798
前面已经推出了ci数据库操作实例篇(二)——显示数据,本章的
删除数据是在显示数据的基础之上的。不懂的朋友可以参考前面
的教程。
删除数据最关键的是在view层将新闻的id通过controller层传入
model层,然后执行删除操作。
所以我们需要在前面做的第二章的“显示数据”的view层做一些
小小的修改。
视图层的viewNews.php文件的代码如下:
[*][*] <table>[*]<?php[*] foreach($query->result() as $row) : ?>[*] <tr>[*] <td>[*] <?php echo $row->title; ?>[*] </td>[*] <td><?php echo $row->content; ?></td>[*] <td><?php echo date("y-m-d h:i:s",$row->time);?> </td>[*] <td><?php echo anchor('delete/deleteNews/'.$row->id,'删除')?></td>[*][*] </tr>[*][*] <?php endforeach;?>[*] </table>然后来到控制层,
新建delete.php文件,代码如下:
[*][*]<?php[*] class Delete extends Controller{[*] function delete(){[*] parent::Controller();[*] $this->load->helper('url');[*] }[*] function deleteNews(){[*] $id=$this->uri->segment(3);[*] $this->load->model('deleteModel');[*] $data=$this->deleteModel->deleteNews($id);[*] if($data){[*] echo 'ok';[*] }[*] }[*]}[*]?>$id=$this->uri->segment(3);这行代码是取得你所要删除新闻的id。(也就是URL的第三段)
然后将id传入model层进行处理。
我们现在再来看看model层
新建deleteModel.php文件,代码如下:
[*][*]<?php[*] class DeleteModel extends Model{[*] function deleteModel(){[*] parent::Model();[*] $this->load->database();[*] }[*] function deleteNews($newsid){[*] $this->db->where('id',$newsid);[*] $data=$this->db->delete('news');[*] return $data;[*] }[*]}[*]?>
$this->db->delete,该函数返回的是一个bool值。
所以在controller层中
if($data){echo 'ok'} 就是判断如果返回过来的值是1,即输出ok。表示删除成功。 楼主你好,我按照你写的为什么结果显示“OK”,但数据库里面的记录仍然存在。 汗,一看帖子时间是2009年就不该请楼主来答了 感谢楼主了 问题是,,如果我的删除是一个图标的,,不是文字的该怎么删呢,,代码如下 <!-- 操作图标 -->
<a href="#"><img src="images/admin-img/pencil.png" alt="修改" /> </a>
<a href=""><img src="images/admin-img/cross.png" alt="删除" /></a>
<a href="#"><img src="images/admin-img/clipboard.png" alt="预览" /></a>
页:
[1]