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压缩多个CSS为一个css的代码并缓存
Apr 21 PHP
PHPMailer邮件发送的实现代码
May 04 PHP
php调用新浪短链接API的方法
Nov 08 PHP
Yii学习总结之数据访问对象 (DAO)
Feb 22 PHP
Yii实现自动加载类地图的方法
Apr 01 PHP
php以fastCGI的方式运行时文件系统权限问题及解决方法
May 11 PHP
PHP中的事务使用实例
May 26 PHP
如何解决PHP使用mysql_query查询超大结果集超内存问题
Mar 14 PHP
PHP实现的统计数据功能详解
Dec 06 PHP
微信封装的调用微信签名包的类库
Jun 08 PHP
laravel中短信发送验证码的实现方法
Apr 25 PHP
phpstudy后门rce批量利用脚本的实现
Dec 12 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
oracle资料库函式库
2006/10/09 PHP
jQuery+PHP实现的掷色子抽奖游戏实例
2015/01/04 PHP
PHP闭包函数传参及使用外部变量的方法
2016/03/15 PHP
thinkphp下MySQL数据库读写分离代码剖析
2017/04/18 PHP
Apache+PHP+MySQL搭建PHP开发环境图文教程
2020/08/06 PHP
javascript vvorld 在线加密破解方法
2008/11/13 Javascript
JavaScript中数据结构与算法(二):队列
2015/06/19 Javascript
javascript控制台详解
2015/06/25 Javascript
JavaScript版经典游戏之扫雷游戏完整示例【附demo源码下载】
2016/12/12 Javascript
Vue.js事件处理器与表单控件绑定详解
2017/03/20 Javascript
详解angularjs中的隔离作用域理解以及绑定策略
2017/05/31 Javascript
基于 Vue.js 之 iView UI 框架非工程化实践记录(推荐)
2017/11/21 Javascript
Vue中的循环及修改差值表达式的方法
2019/08/29 Javascript
基于vue-cli3创建libs库的实现方法
2019/12/04 Javascript
vue 组件间的通信之子组件向父组件传值的方式
2020/07/29 Javascript
从零学python系列之浅谈pickle模块封装和拆封数据对象的方法
2014/05/23 Python
Python描述器descriptor详解
2015/02/03 Python
Python的Flask框架中@app.route的用法教程
2015/03/31 Python
python thrift搭建服务端和客户端测试程序
2018/01/17 Python
Python3实现的简单验证码识别功能示例
2018/05/02 Python
对python list 遍历删除的正确方法详解
2018/06/29 Python
Python脚本操作Excel实现批量替换功能
2019/11/20 Python
canvas实现按住鼠标移动绘制出轨迹的示例代码
2018/02/05 HTML / CSS
世界上最大的专业美容用品零售商:Sally Beauty
2017/07/02 全球购物
金牌葡萄酒俱乐部:Gold Medal Wine Club
2017/11/02 全球购物
什么是典型的软件三层结构?软件设计为什么要分层?软件分层有什么好处?
2012/03/14 面试题
人民调解员先进事迹材料
2014/05/08 职场文书
涨价通知怎么写
2015/04/23 职场文书
冲出亚马逊观后感
2015/06/03 职场文书
干货:我将这样书写我的演讲稿!
2019/05/09 职场文书
小学秋季运动会加油口号及加油稿
2019/08/19 职场文书
营销策划分析:怎么策划才能更好销量产品?
2019/09/04 职场文书
导游词之吉林吉塔
2019/11/11 职场文书
详解MySQL 联合查询优化机制
2021/05/10 MySQL
Python实战之OpenCV实现猫脸检测
2021/06/26 Python
CentOS7设置ssh服务以及端口修改方式
2022/12/24 Servers