这篇文章主要介绍了CI框架(CodeIgniter)实现的数据库增删改查操作,结合实例形式总结分析了CI框架针对mysql数据库增删改查操作的模型、控制器及视图相关定义与使用技巧,需要的朋友可以参考下
本文实例讲述了CI框架(CodeIgniter)实现的数据库增删改查操作。分享给大家供大家参考,具体如下:
controllers下的 cquery.php文件
<?php
class CQuery extends Controller {
//构造函数
function CQuery() {
parent::Controller();
// $this->load->database();
}
function index() {
//调用model 其中train为外层文件夹 MQuery为model名称 queryList为重命名
$this->load->model('train/MQuery','queryList');
//获得返回的结果集 这里确定调用model中的哪个方法
$result = $this->queryList->queryList();
//将结果集赋给res
$this->smarty->assign('res',$result);
//跳转到显示页面
$this->smarty->view('train/vquery.tpl');
}
//进入新增页面
function addPage() {
$this->smarty->view('train/addPage.tpl');
}
//新增
function add() {
//获得前台数据
//用户名
$memberName = $this->input->post('memberName');
//密码
$password = $this->input->post('password');
//真实姓名
$userRealName = $this->input->post('userRealName');
//性别
$sex = $this->input->post('sex');
//出生日期
$bornDay = $this->input->post('bornDay');
//e_mail
$eMail = $this->input->post('eMail');
//密码问题
$question = $this->input->post('question');
//密码答案
$answer = $this->input->post('answer');
//调用model
$this->load->model('train/MQuery','addRecord');
//向model中的addRecord传值
$result = $this->addRecord->addRecord($memberName,$password,$userRealName,$sex,$bornDay,$eMail,$question,$answer);
//判断返回的结果,如果返回true,则调用本页的index方法,不要写 $result == false 因为返回的值未必是false 也有可能是""
if ($result) {
$this->index();
} else {
echo "add failed.";
}
}
//删除
function deletePage() {
//获得ID
$deleteID = $this->uri->segment(4);
//调用model
$this->load->model('train/MQuery','delRecord');
//将值传入到model的delRecord方法中
$result = $this->delRecord->delRecord($deleteID);
//判断返回值
if ($result) {
$this->index();
} else {
echo "delect failed.";
}
}
//修改先查询
function changePage() {
$changeID = $this->uri->segment(4);
$this->load->model('train/MQuery','changeRecord');
$result = $this->changeRecord->changeRecord($changeID);
//将结果集赋给res
$this->smarty->assign('res',$result);
//跳转到显示页面
$this->smarty->view('train/changePage.tpl');
}
//修改
function change() {
//获得前台数据
//ID
$ID = $this->input->post('id');
//用户名
$memberName = $this->input->post('memberName');
//密码
$password = $this->input->post('password');
//真实姓名
$userRealName = $this->input->post('userRealName');
//性别
$sex = $this->input->post('sex');
//出生日期
$bornDay = $this->input->post('bornDay');
//e_mail
$eMail = $this->input->post('eMail');
//密码问题
$question = $this->input->post('question');
//密码答案
$answer = $this->input->post('answer');
//调用model
$this->load->model('train/MQuery','change');
//向model中的change传值
$result = $this->change->change($ID,$memberName,$password,$userRealName,$sex,$bornDay,$eMail,$question,$answer);
//判断返回的结果,如果返回true,则调用本页的index方法,不要写 $result == false 因为返回的值未必是false 也有可能是""
if ($result) {
$this->index();
} else {
echo "change failed.";
}
}
}
models中的 mquery.php 文件
<?php
class MQuery extends Model {
//构造函数
function MQuery() {
parent::Model();
//连接数据库
$this->load->database();
}
//查询列表
function queryList() {
//防止select出的数据存在乱码问题
//mysql_query("SET NAMES GBK");
//SQL语句
$sql = "SELECT ID,member_name,sex,e_mail FROM user_info_t";
//执行SQL
$rs = $this->db->query($sql);
//将查询结果放入到结果集中
$result = $rs->result();
//关闭数据库
$this->db->close();
//将结果集返回
return $result;
}
//新增
function addRecord($memberName,$password,$userRealName,$sex,$bornDay,$eMail,$question,$answer) {
//防止select出的数据存在乱码问题
//mysql_query("SET NAMES GBK");
//SQL语句
$sql = "INSERT INTO user_info_t (member_name,password,user_real_name,sex,born_day,e_mail,question,answer) " .
"VALUES ('$memberName','$password','$userRealName','$sex','$bornDay','$eMail','$question','$answer')";
//执行SQL
$result = $this->db->query($sql);
//关闭数据库
$this->db->close();
//返回值
return $result;
}
//删除
function delRecord($deleteID) {
//防止select出的数据存在乱码问题
//mysql_query("SET NAMES GBK");
$sql = "DELETE FROM user_info_t WHERE ID = $deleteID";
$result = $this->db->query($sql);
$this->db->close();
return $result;
}
//修改前查询
function changeRecord($changeID) {
//防止select出的数据存在乱码问题
//mysql_query("SET NAMES GBK");
$sql = "SELECT ID,member_name,password,user_real_name,sex,born_day,e_mail,question,answer FROM user_info_t WHERE ID = $changeID";
//执行SQL
$rs = $this->db->query($sql);
$result = $rs->row();//$result = $rs[0]
//关闭数据库
$this->db->close();
//将结果集返回
return $result;
}
//修改
function change($ID,$memberName,$password,$userRealName,$sex,$bornDay,$eMail,$question,$answer) {
//防止select出的数据存在乱码问题
//mysql_query("SET NAMES GBK");
//SQL语句
$sql = "update user_info_t set member_name = '$memberName',password = '$password', user_real_name = '$userRealName'," .
"sex = '$sex',born_day = '$bornDay',e_mail = '$eMail',question = '$question',answer = '$answer'" .
"where ID = $ID";
//执行SQL
$result = $this->db->query($sql);
//关闭数据库
$this->db->close();
//返回值
return $result;
}
}
views 下的 addPage.tpl文件
<html>
<head>
</head>
<body><form action="{{site_url url='train/cquery/add'}}" method="post">
<table border='1'>
<tr>
<td>用户名</td>
<td><input type="text" class="text" name="memberName" id="memberName"/></td>
</tr>
<tr>
<td>密码</td>
<td><input type="text" class="text" name="password" id="password"/></td>
</tr>
<tr>
<td>真实姓名</td>
<td><input type="text" class="text" name="userRealName" id="userRealName"/></td>
</tr>
<tr>
<td>性别</td>
<td><input type="text" class="text" name="sex" id="sex"/></td>
</tr>
<tr>
<td>出生日期</td>
<td><input type="text" class="text" name="bornDay" id="bornDay"/></td>
</tr>
<tr>
<td>e_mail</td>
<td><input type="text" class="text" name="eMail" id="eMail"/></td>
</tr>
<tr>
<td>密码问题</td>
<td><input type="text" class="text" name="question" id="question"/></td>
</tr>
<tr>
<td>密码答案</td>
<td><input type="text" class="text" name="answer" id="answer"/></td>
</tr>
</table>
<table>
<tr>
<td><input type="submit" class="button" name="OK" value="提交" />
</td>
</tr>
</table></form>
</body>
</html>
changePage.tpl 文件
<html>
<head>
</head>
<body><form action="{{site_url url='train/cquery/change'}}" method="post">
<table border='1'><input type="hidden" name="id" value="{{$res->ID}}" />
<tr>
<td>用户名</td>
<td><input type="text" class="text" name="memberName" id="memberName" value="{{$res->member_name}}" /></td>
</tr>
<tr>
<td>密码</td>
<td><input type="text" class="text" name="password" id="password" value="{{$res->password}}" /></td>
</tr>
<tr>
<td>真实姓名</td>
<td><input type="text" class="text" name="userRealName" id="userRealName" value="{{$res->user_real_name}}"/></td>
</tr>
<tr>
<td>性别</td>
<td><input type="text" class="text" name="sex" id="sex" value="{{$res->sex}}"/></td>
</tr>
<tr>
<td>出生日期</td>
<td><input type="text" class="text" name="bornDay" id="bornDay" value="{{$res->born_day}}"/></td>
</tr>
<tr>
<td>e_mail</td>
<td><input type="text" class="text" name="eMail" id="eMail" value="{{$res->e_mail}}"/></td>
</tr>
<tr>
<td>密码问题</td>
<td><input type="text" class="text" name="question" id="question" value="{{$res->question}}"/></td>
</tr>
<tr>
<td>密码答案</td>
<td><input type="text" class="text" name="answer" id="answer" value="{{$res->answer}}"/></td>
</tr>
</table>
<table>
<tr>
<td><input type="submit" class="button" name="OK" value="提交" />
</td>
</tr>
</table></form>
</body>
</html>
vquery.tpl 文件
<html>
<head>
<title></title>
</head>
<body>
<table border='1'>
<tr>
<td>用户名</td>
<td>性别</td>
<td>e_mail</td>
<td>操作</td>
</tr>
{{foreach from=$res item=row}}
<tr>
<input type="hidden" value={{$row->ID}}>
<td>{{$row->member_name}}</td>
<td>{{$row->sex}}</td>
<td>{{$row->e_mail}}</td>
<td><a href="{{site_url url='train/cquery/deletePage'}}/{{$row->ID}}" rel="external nofollow" >删除</a><a href="{{site_url url='train/cquery/changePage'}}/{{$row->ID}}" rel="external nofollow" >修改</a></td>
</tr>
{{/foreach}}
</table>
<a href="{{site_url url='train/cquery/addPage'}}" rel="external nofollow" rel="external nofollow" mce_href="{{site_url url='train/cquery/addPage'}}" rel="external nofollow" rel="external nofollow" >add</a>
</body>
</html>
更多关于CodeIgniter相关内容感兴趣的读者可查看本站专题:《codeigniter入门教程》、《CI(CodeIgniter)框架进阶教程》、《php优秀开发框架总结》、《ThinkPHP入门教程》、《ThinkPHP常用方法总结》、《Zend FrameWork框架入门教程》、《php面向对象程序设计入门教程》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》
希望本文所述对大家基于CodeIgniter框架的PHP程序设计有所帮助。
沃梦达教程
本文标题为:CI框架(CodeIgniter)实现的数据库增删改查操作总结
基础教程推荐
猜你喜欢
- laravel ORM关联关系中的 with和whereHas用法 2023-03-02
- php array分组,PHP中array数组的分组排序 2022-08-01
- PHP获取MySQL执行sql语句的查询时间方法 2022-11-09
- PHP中的错误及其处理机制 2023-06-04
- PHP实现Redis单据锁以及防止并发重复写入 2022-10-12
- 在Laravel中实现使用AJAX动态刷新部分页面 2023-03-02
- thinkphp3.2.3框架动态切换多数据库的方法分析 2023-03-19
- laravel 解决多库下的DB::transaction()事务失效问题 2023-03-08
- 使用PHP开发留言板功能 2023-03-13
- PHP命名空间简单用法示例 2022-12-01