本文实例讲述了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程序设计有所帮助。
您可能感兴趣的文章:- codeigniter自带数据库类使用方法说明
- 让CodeIgniter数据库缓存自动过期的处理的方法
- 新浪SAE云平台下使用codeigniter的数据库配置
- codeigniter数据库操作函数汇总
- Codeigniter操作数据库表的优化写法总结
- CodeIgniter针对数据库的连接、配置及使用方法
- CodeIgniter框架数据库事务处理的设计缺陷和解决方案
- CodeIgniter框架数据库基本操作示例
- CI(CodeIgniter)框架配置
- CodeIgniter基本配置详细介绍
- php框架CodeIgniter主从数据库配置方法分析