本文實例講述了CI框架(CodeIgniter)實現(xiàn)的數(shù)據(jù)庫增刪改查操作。分享給大家供大家參考,具體如下:
controllers下的 cquery.php文件
?php
class CQuery extends Controller {
//構(gòu)造函數(shù)
function CQuery() {
parent::Controller();
// $this->load->database();
}
function index() {
//調(diào)用model 其中train為外層文件夾 MQuery為model名稱 queryList為重命名
$this->load->model('train/MQuery','queryList');
//獲得返回的結(jié)果集 這里確定調(diào)用model中的哪個方法
$result = $this->queryList->queryList();
//將結(jié)果集賦給res
$this->smarty->assign('res',$result);
//跳轉(zhuǎn)到顯示頁面
$this->smarty->view('train/vquery.tpl');
}
//進入新增頁面
function addPage() {
$this->smarty->view('train/addPage.tpl');
}
//新增
function add() {
//獲得前臺數(shù)據(jù)
//用戶名
$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');
//調(diào)用model
$this->load->model('train/MQuery','addRecord');
//向model中的addRecord傳值
$result = $this->addRecord->addRecord($memberName,$password,$userRealName,$sex,$bornDay,$eMail,$question,$answer);
//判斷返回的結(jié)果,如果返回true,則調(diào)用本頁的index方法,不要寫 $result == false 因為返回的值未必是false 也有可能是""
if ($result) {
$this->index();
} else {
echo "add failed.";
}
}
//刪除
function deletePage() {
//獲得ID
$deleteID = $this->uri->segment(4);
//調(diào)用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);
//將結(jié)果集賦給res
$this->smarty->assign('res',$result);
//跳轉(zhuǎn)到顯示頁面
$this->smarty->view('train/changePage.tpl');
}
//修改
function change() {
//獲得前臺數(shù)據(jù)
//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');
//調(diào)用model
$this->load->model('train/MQuery','change');
//向model中的change傳值
$result = $this->change->change($ID,$memberName,$password,$userRealName,$sex,$bornDay,$eMail,$question,$answer);
//判斷返回的結(jié)果,如果返回true,則調(diào)用本頁的index方法,不要寫 $result == false 因為返回的值未必是false 也有可能是""
if ($result) {
$this->index();
} else {
echo "change failed.";
}
}
}
models中的 mquery.php 文件
?php
class MQuery extends Model {
//構(gòu)造函數(shù)
function MQuery() {
parent::Model();
//連接數(shù)據(jù)庫
$this->load->database();
}
//查詢列表
function queryList() {
//防止select出的數(shù)據(jù)存在亂碼問題
//mysql_query("SET NAMES GBK");
//SQL語句
$sql = "SELECT ID,member_name,sex,e_mail FROM user_info_t";
//執(zhí)行SQL
$rs = $this->db->query($sql);
//將查詢結(jié)果放入到結(jié)果集中
$result = $rs->result();
//關(guān)閉數(shù)據(jù)庫
$this->db->close();
//將結(jié)果集返回
return $result;
}
//新增
function addRecord($memberName,$password,$userRealName,$sex,$bornDay,$eMail,$question,$answer) {
//防止select出的數(shù)據(jù)存在亂碼問題
//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')";
//執(zhí)行SQL
$result = $this->db->query($sql);
//關(guān)閉數(shù)據(jù)庫
$this->db->close();
//返回值
return $result;
}
//刪除
function delRecord($deleteID) {
//防止select出的數(shù)據(jù)存在亂碼問題
//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出的數(shù)據(jù)存在亂碼問題
//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";
//執(zhí)行SQL
$rs = $this->db->query($sql);
$result = $rs->row();//$result = $rs[0]
//關(guān)閉數(shù)據(jù)庫
$this->db->close();
//將結(jié)果集返回
return $result;
}
//修改
function change($ID,$memberName,$password,$userRealName,$sex,$bornDay,$eMail,$question,$answer) {
//防止select出的數(shù)據(jù)存在亂碼問題
//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";
//執(zhí)行SQL
$result = $this->db->query($sql);
//關(guān)閉數(shù)據(jù)庫
$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>
更多關(guān)于CodeIgniter相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《codeigniter入門教程》、《CI(CodeIgniter)框架進階教程》、《php優(yōu)秀開發(fā)框架總結(jié)》、《ThinkPHP入門教程》、《ThinkPHP常用方法總結(jié)》、《Zend FrameWork框架入門教程》、《php面向?qū)ο蟪绦蛟O(shè)計入門教程》、《php+mysql數(shù)據(jù)庫操作入門教程》及《php常見數(shù)據(jù)庫操作技巧匯總》
希望本文所述對大家基于CodeIgniter框架的PHP程序設(shè)計有所幫助。
您可能感興趣的文章:- codeigniter自帶數(shù)據(jù)庫類使用方法說明
- 讓CodeIgniter數(shù)據(jù)庫緩存自動過期的處理的方法
- 新浪SAE云平臺下使用codeigniter的數(shù)據(jù)庫配置
- codeigniter數(shù)據(jù)庫操作函數(shù)匯總
- Codeigniter操作數(shù)據(jù)庫表的優(yōu)化寫法總結(jié)
- CodeIgniter針對數(shù)據(jù)庫的連接、配置及使用方法
- CodeIgniter框架數(shù)據(jù)庫事務處理的設(shè)計缺陷和解決方案
- CodeIgniter框架數(shù)據(jù)庫基本操作示例
- CI(CodeIgniter)框架配置
- CodeIgniter基本配置詳細介紹
- php框架CodeIgniter主從數(shù)據(jù)庫配置方法分析