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执行速度全攻略(下)
Oct 09 PHP
PHP URL路由类实例
Nov 12 PHP
php循环创建目录示例分享(php创建多级目录)
Mar 04 PHP
php设置允许大文件上传示例代码
Mar 10 PHP
Laravel 5框架学习之Blade 简介
Apr 08 PHP
php模拟post上传图片实现代码
Jun 24 PHP
Yii2实现同时搜索多个字段的方法
Aug 10 PHP
php遍历、读取文件夹中图片并分页显示图片的方法
Nov 15 PHP
thinkPHP中session()方法用法详解
Dec 08 PHP
php脚本守护进程原理与实现方法详解
Jul 20 PHP
PHP进阶学习之类的自动加载机制原理分析
Jun 18 PHP
php操作redis命令及代码实例大全
Nov 19 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 检查扩展库或函数是否可用的代码
2010/04/06 PHP
destoon实现商铺管理主页设置增加新菜单的方法
2014/06/26 PHP
CodeIgniter整合Smarty的方法详解
2017/08/25 PHP
php图片合成方法(多张图片合成一张)
2017/11/25 PHP
JS获取农历日期具体实例
2013/11/14 Javascript
随鼠标上下滚动的jquery代码
2013/12/05 Javascript
Javascript浅谈之this
2013/12/17 Javascript
JS案例分享之金额小写转大写
2014/05/15 Javascript
浅谈javascript原型链与继承
2015/07/13 Javascript
jQuery validate+artdialog+jquery form实现弹出表单思路详解
2016/04/18 Javascript
javascript中获取class的简单实现
2016/07/12 Javascript
浅谈jQuery中ajaxPrefilter的应用
2016/08/01 Javascript
js实现表单提交后不重新刷新当前页面
2016/11/30 Javascript
Vue.js事件处理器与表单控件绑定详解
2017/03/20 Javascript
bootstrap-table.js扩展分页工具栏(增加跳转到xx页)功能
2017/12/28 Javascript
js构造函数创建对象是否加new问题
2018/01/22 Javascript
在Angular中使用JWT认证方法示例
2018/09/10 Javascript
默认浏览器设置及vue自动打开页面的方法
2018/09/21 Javascript
详解webpack编译速度提升之DllPlugin
2019/02/05 Javascript
详解如何使用router-link对象方式传递参数?
2019/05/02 Javascript
自定义Vue组件打包、发布到npm及使用教程
2019/05/22 Javascript
vue中axios防止多次触发终止多次请求的示例代码(防抖)
2020/02/16 Javascript
基于PHP pthreads实现多线程代码实例
2020/06/24 Javascript
用Python实现一个简单的多线程TCP服务器的教程
2015/05/05 Python
Python设计模式之装饰模式实例详解
2019/01/21 Python
Python日志无延迟实时写入的示例
2019/07/11 Python
python中的Elasticsearch操作汇总
2019/10/30 Python
Python使用matplotlib 画矩形的三种方式分析
2019/10/31 Python
Django模型中字段属性choice使用说明
2020/03/30 Python
Python中格式化字符串的四种实现
2020/05/26 Python
Python函数调用追踪实现代码
2020/11/27 Python
Python实现Excel自动分组合并单元格
2021/02/22 Python
Bata印度官网:源自欧洲舒适鞋履品牌
2020/01/30 全球购物
香奈儿美国官网:CHANEL美国
2020/05/20 全球购物
在校硕士自我鉴定
2014/01/23 职场文书
教你用Python写一个植物大战僵尸小游戏
2021/04/25 Python