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 相关文章推荐
使用PHP批量生成随机用户名
Jul 10 PHP
php获取地址栏信息的代码
Oct 08 PHP
PHP Class&amp;Object -- PHP 自排序二叉树的深入解析
Jun 25 PHP
PHP对象相互引用的内存溢出实例分析
Aug 28 PHP
分享PHP守护进程类
Dec 30 PHP
谈谈PHP连接Access数据库的注意事项
Aug 12 PHP
php 中奖概率算法实现代码
Jan 25 PHP
php PDO实现的事务回滚示例
Mar 23 PHP
PHP基于SMTP协议实现邮件发送实例代码
Apr 27 PHP
PHP实现的登录页面信息提示功能示例
Jul 24 PHP
php实现网页上一页下一页翻页过程详解
Jun 28 PHP
解决PHP curl或file_get_contents下载图片损坏或无法打开的问题
Oct 11 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
WindowsXP中快速配置Apache+PHP5+Mysql
2008/06/05 PHP
PHP中extract()函数的定义和用法
2012/08/17 PHP
在php7中MongoDB实现模糊查询的方法详解
2017/05/03 PHP
浅析PHP数据导出知识点
2018/02/17 PHP
js arguments.callee的应用代码
2009/05/07 Javascript
js选取多个或单个元素的实现代码(用class)
2012/08/22 Javascript
深入理解javascript严格模式(Strict Mode)
2014/11/28 Javascript
javascript实现图片循环渐显播放的方法
2015/02/24 Javascript
jQuery简单几行代码实现tab切换
2015/03/10 Javascript
JS中关于事件处理函数名后面是否带括号的问题
2016/11/16 Javascript
js时间控件只显示年月
2017/01/08 Javascript
vue.js 1.x与2.0中js实时监听input值的变化
2017/03/15 Javascript
详解如何使用Node.js编写命令工具——以vue-cli为例
2017/06/29 Javascript
jQuery实现的鼠标滚轮控制图片缩放功能实例
2017/10/14 jQuery
vue init失败简单解决方法(终极版)
2017/12/22 Javascript
JS简单获取并修改input文本框内容的方法示例
2018/04/08 Javascript
vue-router 前端路由之路由传值的方式详解
2019/04/30 Javascript
js判断复选框是否选中的方法示例【基于jQuery】
2019/10/10 jQuery
原生js实现拖拽移动与缩放效果
2020/08/24 Javascript
[03:01]2014DOTA2国际邀请赛 小组赛7月13日TOPPLAY
2014/07/14 DOTA
利用python获得时间的实例说明
2013/03/25 Python
使用setup.py安装python包和卸载python包的方法
2013/11/27 Python
opencv python 2D直方图的示例代码
2018/07/20 Python
python 进程的几种创建方式详解
2019/08/29 Python
python创建子类的方法分析
2019/11/28 Python
pytorch 改变tensor尺寸的实现
2020/01/03 Python
基于TensorBoard中graph模块图结构分析
2020/02/15 Python
python开发实例之python使用Websocket库开发简单聊天工具实例详解(python+Websocket+JS)
2020/03/18 Python
Django修改app名称和数据表迁移方案实现
2020/09/17 Python
HTML5制作酷炫音频播放器插件图文教程
2014/12/30 HTML / CSS
限量版运动鞋和街头服饰:TheDrop
2020/09/06 全球购物
使用useBean标志初始化BEAN时如何接受初始化参数
2012/02/11 面试题
学校班子个人对照检查材料思想汇报
2014/09/27 职场文书
让世界充满爱观后感
2015/06/10 职场文书
《角的初步认识》教学反思
2016/02/17 职场文书
班组长如何制订适合本班组的工作计划?
2019/07/10 职场文书