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 相关文章推荐
用Socket发送电子邮件(利用需要验证的SMTP服务器)
Oct 09 PHP
PHP 图片上传实现代码 带详细注释
Apr 29 PHP
php读取txt文件组成SQL并插入数据库的代码(原创自Zjmainstay)
Jul 31 PHP
php 模拟get_headers函数的代码示例
Apr 27 PHP
php的zip解压缩类pclzip使用示例
Mar 14 PHP
Laravel4中的Validator验证扩展用法详解
Jul 26 PHP
php无限级分类实现方法分析
Oct 19 PHP
实例讲解YII2中多表关联的使用方法
Jul 21 PHP
php 字符串中是否包含指定字符串的多种方法
Apr 12 PHP
PHP获取文件扩展名的常用方法小结【五种方式】
Apr 27 PHP
PHP实现的pdo连接数据库并插入数据功能简单示例
Mar 30 PHP
php伪静态验证码不显示的解决方案
Sep 26 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
如何限制访问者的ip(PHPBB的代码)
2006/10/09 PHP
PHP HTML代码串截取代码
2008/12/29 PHP
PHP文件注释标记及规范小结
2012/04/01 PHP
解析PHP汉字转换拼音的类
2013/06/18 PHP
centos+php+coreseek+sphinx+mysql之一coreseek安装篇
2016/10/25 PHP
微信公众号实现会员卡领取功能
2017/06/08 PHP
关于 Laravel Redis 多个进程同时取队列问题详解
2017/12/25 PHP
阿里对象存储OSS在laravel框架中的使用方法
2019/10/13 PHP
基于javascript、ajax、memcache和PHP实现的简易在线聊天室
2015/02/03 Javascript
jQuery使用fadeout实现元素渐隐效果的方法
2015/03/27 Javascript
JS获得图片alt信息的方法
2015/04/01 Javascript
基于javascript实现checkbox复选框实例代码
2016/01/28 Javascript
JavaScript设计模式经典之命令模式
2016/02/24 Javascript
Javascript 链式作用域详细介绍
2017/02/23 Javascript
使用jQuery实现一个类似GridView的编辑,更新,取消和删除的功能
2017/03/15 Javascript
利用canvas中toDataURL()将图片转为dataURL(base64)的方法详解
2017/11/20 Javascript
微信小程序实现复选框效果
2018/12/28 Javascript
JS实现的点击按钮图片上下滚动效果示例
2019/01/28 Javascript
JS基于开关思想实现的数组去重功能【案例】
2019/02/18 Javascript
基于js实现复制内容到操作系统粘贴板过程解析
2019/10/11 Javascript
Vue请求java服务端并返回数据代码实例
2019/11/28 Javascript
Javascript 模拟mvc实现点餐程序案例详解
2020/12/24 Javascript
[02:57]DOTA2英雄基础教程 风行者
2014/01/16 DOTA
Python中关于使用模块的基础知识
2015/05/24 Python
详解Python3的TFTP文件传输
2018/06/26 Python
基于Python实现定时自动给微信好友发送天气预报
2018/10/25 Python
使用Python 统计高频字数的方法
2019/01/31 Python
python实现二级登陆菜单及安装过程
2019/06/21 Python
Django密码系统实现过程详解
2019/07/19 Python
使用python制作一个解压缩软件
2019/11/13 Python
有趣、实用和鼓舞人心的产品:Inspire Uplift
2019/11/05 全球购物
师范学院毕业生求职信
2014/06/24 职场文书
化验室岗位职责
2015/02/14 职场文书
2015年客房服务员工作总结
2015/05/15 职场文书
Flask搭建一个API服务器的步骤
2021/05/28 Python
Python requests用法和django后台处理详解
2022/03/19 Python