CI框架(CodeIgniter)实现的数据库增删改查操作总结


Posted in PHP onMay 23, 2018

本文实例讲述了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框架的PHP程序设计有所帮助。

PHP 相关文章推荐
获得Google PR值的PHP代码
Jan 28 PHP
使用php实现下载生成某链接快捷方式的解决方法
May 07 PHP
模板引擎smarty工作原理以及使用示例
May 25 PHP
thinkphp中空模板与空模块的用法实例
Nov 26 PHP
PHP连接MySQL数据的操作要点
Mar 20 PHP
smarty模板引擎之分配数据类型
Mar 30 PHP
php关键字仅替换一次的实现函数
Oct 29 PHP
php读取torrent种子文件内容的方法(测试可用)
May 03 PHP
Laravel如何友好的修改.env配置文件详解
Jun 07 PHP
利用PHP_XLSXWriter代替PHPExcel的方法示例
Jul 16 PHP
搭建自己的PHP MVC框架详解
Aug 16 PHP
php高性能日志系统 seaslog 的安装与使用方法分析
Feb 29 PHP
yii2安装详细流程
May 23 #PHP
PHP仿tp实现mvc框架基本设计思路与实现方法分析
May 23 #PHP
PHP自定义函数实现assign()数组分配到模板及extract()变量分配到模板功能示例
May 23 #PHP
PHP工厂模式简单实现方法示例
May 23 #PHP
PHP递归遍历文件夹去除注释并压缩php源代码的方法示例
May 23 #PHP
PHP实现将多个文件压缩成zip格式并下载到本地的方法示例
May 23 #PHP
PHP实现的mysql读写分离操作示例
May 22 #PHP
You might like
关于使用coreseek并为其做分页的介绍
2013/06/21 PHP
zend optimizer在wamp的基础上安装图文教程
2013/10/26 PHP
PHP GD库生成图像的几个函数总结
2014/11/19 PHP
Yii实现Command任务处理的方法详解
2016/07/14 PHP
PHP基于堆栈实现的高级计算器功能示例
2017/09/15 PHP
Laravel+Intervention实现上传图片功能示例
2019/07/09 PHP
javascript fullscreen全屏实现代码
2009/04/09 Javascript
用javascript获取当页面上鼠标光标位置和触发事件的对象的代码
2009/12/09 Javascript
精心挑选的15款优秀jQuery 本特效插件和教程
2012/08/06 Javascript
js类型转换与引用类型详解(Boolean_Number_String)
2014/03/07 Javascript
nodejs教程之入门
2014/11/21 NodeJs
jsonp跨域请求实现示例
2017/03/13 Javascript
Vue2.0利用vue-resource上传文件到七牛的实例代码
2017/07/28 Javascript
微信小程序-滚动消息通知的实例代码
2017/08/03 Javascript
JS解决IOS中拍照图片预览旋转90度BUG的问题
2017/09/13 Javascript
微信小程序之判断页面滚动方向的示例代码
2018/08/30 Javascript
React降级配置及Ant Design配置详解
2018/12/27 Javascript
微信JS-SDK updateAppMessageShareData安卓不能自定义分享详解
2019/03/29 Javascript
js实现随机div颜色位置 类似满天星效果
2019/10/24 Javascript
解决vue cli4升级sass-loader(v8)后报错问题
2020/07/30 Javascript
如何搭建一个完整的Vue3.0+ts的项目步骤
2020/10/18 Javascript
Python编程实现删除VC临时文件及Debug目录的方法
2017/03/22 Python
Python2与python3中 for 循环语句基础与实例分析
2017/11/20 Python
在python中bool函数的取值方法
2018/11/01 Python
解决Pycharm界面的子窗口不见了的问题
2019/01/17 Python
Python异常处理知识点总结
2019/02/18 Python
pandas实现将日期转换成timestamp
2019/12/07 Python
sklearn+python:线性回归案例
2020/02/24 Python
Python2.6版本pip安装步骤解析
2020/08/17 Python
html5实现canvas阴影效果示例
2014/05/07 HTML / CSS
国贸专业个人求职信分享
2013/12/04 职场文书
校庆活动策划方案
2014/06/05 职场文书
车辆委托书范本
2014/10/05 职场文书
同学毕业留言寄语
2015/02/27 职场文书
送达通知书
2015/04/25 职场文书
React更新渲染原理深入分析
2022/12/24 Javascript