CodeIgniter框架数据库基本操作示例


Posted in PHP onMay 24, 2018

本文实例讲述了CodeIgniter框架数据库基本操作。分享给大家供大家参考,具体如下:

现在开始,首先现在CI框架到自己的服务器目录下并配置config/config.php

$config['base_url'] = 'http://localhost:90/CI/';

接着下来配置数据库在config/databases.php我做练习配置如下

$db['default']['hostname'] = 'localhost';
$db['default']['username'] = 'root';
$db['default']['password'] = 'root';
$db['default']['database'] = 'demo';
$db['default']['dbdriver'] = 'mysql';

别的现在新手用不到紧接着创建一个数据库和一个user表,这个在我的源码包里面有你可以直接导入就好了,但是前提你要创建一个demo的数据库

reg类代码如下

<?php
/***************************************
 * 用户注册模块和数据库的基本操作实践
 * 17:44 2013.2.18
 * @Author sdeep wang
 ***************************************/
class Reg extends CI_Controller{
  function __construct(){//此函数每次必须写是继承父类的方法
    parent::__construct();
    $this->load->database();//这个是连接数据库的方法,放到这里的好处只要调用该方法就会连接数据库
  }
  function index(){
    $this->load->view('reg_view');//这个是使用哪个视图来显示相当于Smarty中的display
  }
  function reg_insert(){
    $data['name'] = $this->input->post('name');//这个是指取得POST数组的值然后赋值一个心的数组
    $data['sex'] = $this->input->post('sex');
    $data['age'] = $this->input->post('age');
    $data['pwd'] = md5($this->input->post('pwd'));//这里用了一个md5加密只是为了演示
    $data['email'] = $this->input->post('email');
    $this->db->insert('user',$data);//这个是数据库操作插入操作
    redirect('/reg/reg_select/', 'refresh');//这个是跳转函数是url辅助函数里面的一个方法
  }
  function reg_select(){//这个查询数据库的方法
    $this->db->select('id,name,sex,age,email');//这里是查询要显示的字段,可不能像我第一次这样写啊$this->db->select('id','name','sex','age','email');
    $data['query'] = $this->db->get('user');//这个是取得数据(如果你上面写的和我第一次一样的话只能取的一个字段)
    $this->load->view('select_view',$data);//这里是调用哪个视图并分配数据给指定视图显示
  }
  function reg_delete(){//删除数据的操作
    $id = $this->input->get('id');//这里是取得get传过来的值
    $this->db->where('id',$id);//这里是做where条件这个相当重要,如果没有这个你有可能把这个表数据都清空了
    $this->db->delete('user');//删除指定id数据
    redirect('/reg/reg_select/', 'refresh');//同上跳转
  }
  function reg_update(){//跟新数据的操作
    $data['id'] = $this->input->get('id');//同上取的get传值过来的ID
    $this->load->view('update_view',$data);//同上调用视图分配数据
  }
  function reg_com_update(){//这个是真正的跟新数据操作方法
    $id = $this->input->post('id');//同上取得post中的id值
    $data = array(//把post数组的值封装到新的数组中为了下面跟新操作用
          'name'=>$this->input->post('name'),
          'pwd'=>md5($this->input->post('pwd')),
          'email'=>$this->input->post('email' )
        );
    if(!empty($id) && (count($data) > 1)){//判断id值是否传过来并且判断封装的数组是否有元素存在
      $this->db->where('id',$id);//同上准备where条件
      $this->db->update('user',$data);//跟新操作
    }
    redirect('/reg/reg_select/', 'refresh');//同上跳转
  }
}
?>

视图代码如下

<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>用户注册</title>
  </head>
  <body>
    <form action="<?php echo site_url('reg/reg_insert/'); ?>" method="post">
      <table>
        <tr>
          <td>
            姓名:<input type="text" name="name" />
          </td>
        </tr>
        <tr>
          <td>
            姓别:<input type="radio" name="sex" value="1" />男
               <input type="radio" name="sex" />女
          </td>
        </tr>
        <tr>
          <td>
            年龄:<input type="text" name="age" />
          </td>
        </tr>
        <tr>
          <td>
            密码:<input type="password" name="pwd" />
          </td>
        </tr>
        <tr>
          <td>
            邮件:<input type="text" name="email" />
          </td>
        </tr>
        <tr>
          <td>
            <input type="submit" value="注册" />
            <input type="reset" value="重置" />
          </td>
        </tr>
      </table>
    </form>
  </body>
</html>

第二个视图代码如下

<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>显示数据库中的所有注册用户</title>
    <style>
      *{
        margin:0 auto;
      }
      table {
        border:1px solid gray;
        border-collapse: collapse;
        width:500px;
        text-align:center;
      }
      th,td {
        border:1px solid gray;
      }
    </style>
  </head>
  <body>
    <table>
      <caption><h3>注册用户的显示</h3></caption>
      <tr>
        <th>ID</th>
        <th>Name</th>
        <th>Sex</th>
        <th>Age</th>
        <th>Email</th>
        <th>Operate</th>
      </tr>
      <?php foreach($query->result() as $item):?>
      <tr>
        <td><?php echo $item->id; ?></td>
        <td><?php echo $item->name; ?></td>
        <td><?php echo $item->sex; ?></td>
        <td><?php echo $item->age; ?></td>
        <td><?php echo $item->email; ?></td>
        <td>
          <a href="<?php echo site_url('reg/reg_delete');?>?id=<?php echo $item->id;?>" rel="external nofollow" >删除</a> |
          <a href="<?php echo site_url('reg/reg_update');?>?id=<?php echo $item->id;?>" rel="external nofollow" >修改</a>
        </td>
      </tr>
      <?php endforeach; ?>
    </table>
  </body>
</html>

第三个视图如下

<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>修改用户注册信息</title>
  </head>
  <body>
    <form action="<?php echo site_url('reg/reg_com_update');?>" method="post">
      <table>
        <tr>
          <td>姓名:<input type="text" name="name" /></td>
        </tr>
        <tr>
          <td>密码:<input type="password" name="pwd" /></td>
        </tr>
        <tr>
          <td>邮件:<input type="text" name="email" /></td>
        </tr>
        <tr>
          <td>
            <input type="submit" value="修改" />
            <input type="hidden" name="id" value="<?php echo $id; ?>" />
          </td>
        </tr>
      </table>
    </form>
  </body>
</html>

效果图如下

CodeIgniter框架数据库基本操作示例

就这样其中里面什么验证啊,校对之类的都没有做只是练习数据库的基本操作。

希望本文所述对大家基于CodeIgniter框架的PHP程序设计有所帮助。

PHP 相关文章推荐
教你IIS6的PHP最佳配置方法
Sep 05 PHP
用PHP调用Oracle存储过程
Oct 09 PHP
搜索引擎技术核心揭密
Oct 09 PHP
如何使用PHP中的字符串函数
Nov 24 PHP
PHP 开源AJAX框架14种
Aug 24 PHP
PHP递归调用的小技巧讲解
Feb 19 PHP
PHP file_get_contents设置超时处理方法
Sep 30 PHP
ThinkPHP写数组插入与获取最新插入数据ID实例
Nov 03 PHP
通过php添加xml文档内容的方法
Jan 23 PHP
php根据一个给定范围和步进生成数组的方法
Jun 19 PHP
PHP实现提高SESSION响应速度的几种方法详解
Aug 09 PHP
在Laravel中使用GuzzleHttp调用第三方服务的API接口代码
Oct 15 PHP
PHP实现生成数据字典功能示例
May 24 #PHP
tp框架(thinkPHP)实现三次登陆密码错误之后锁定账号功能示例
May 24 #PHP
PHP实现防止表单重复提交功能【基于token验证】
May 24 #PHP
PHP实现微信小程序人脸识别刷脸登录功能
May 24 #PHP
ThinkPHP框架实现的MySQL数据库备份功能示例
May 24 #PHP
CI框架(CodeIgniter)实现的导入、导出数据操作示例
May 24 #PHP
PHP实现一维数组与二维数组去重功能示例
May 24 #PHP
You might like
PHP中使用TCPDF生成PDF文档实例
2014/07/01 PHP
php关联数组快速排序的方法
2015/04/17 PHP
php如何连接sql server
2015/10/16 PHP
Yii使用技巧大汇总
2015/12/29 PHP
[原创]php实现数组按拼音顺序排序的方法
2017/05/03 PHP
Laravel多用户认证系统示例详解
2018/03/13 PHP
一些技巧性实用js代码小结
2009/10/14 Javascript
Javascript 页面模板化很多人没有使用过的方法
2012/06/05 Javascript
jQuery基于$.ajax设置移动端click超时处理方法
2016/05/14 Javascript
jQuery实现微信长按识别二维码功能
2016/08/26 Javascript
通过BootStrap-select插件 js jQuery控制select属性变化
2017/01/03 Javascript
基于jQuery制作小图标上下滑动特效
2017/01/18 Javascript
Jquery实时监听input value的实例
2017/01/26 Javascript
js获取当前页的URL与window.location.href简单方法
2017/02/13 Javascript
JavaScript实现的XML与JSON互转功能详解
2017/02/16 Javascript
vue.js树形组件之删除双击增加分支实例代码
2017/02/28 Javascript
深入浅析JavaScript中的in关键字和for-in循环
2020/04/20 Javascript
JavaScript监听键盘事件代码实现
2020/06/03 Javascript
浅谈vue websocket nodeJS 进行实时通信踩到的坑
2020/09/22 NodeJs
[02:36]DOTA2混沌骑士 英雄基础教程
2013/11/26 DOTA
wxPython窗口中文乱码解决方法
2014/10/11 Python
opencv python统计及绘制直方图的方法
2019/01/21 Python
python实现翻译word表格小程序
2020/02/27 Python
关于win10在tensorflow的安装及在pycharm中运行步骤详解
2020/03/16 Python
python+opencv实现移动侦测(帧差法)
2020/03/20 Python
通过实例解析Python文件操作实现步骤
2020/09/21 Python
python两个list[]相加的实现方法
2020/09/23 Python
python 决策树算法的实现
2020/10/09 Python
Mankind美国/加拿大:英国领先的男士美容护发用品公司
2018/12/05 全球购物
员工薪酬激励方案
2014/06/13 职场文书
新文化运动的基本口号
2014/06/21 职场文书
岗位说明书怎么写
2014/07/30 职场文书
群众路线剖析材料(四风问题)
2014/10/08 职场文书
英文感谢信范文
2015/01/21 职场文书
爱的教育观后感
2015/06/17 职场文书
教你用python控制安卓手机
2021/05/13 Python