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 相关文章推荐
dedecms采集中可以过滤多行代码的正则表达式
Mar 17 PHP
php去除字符串换行符示例分享
Feb 13 PHP
PHP使用Session遇到的一个Permission denied Notice解决办法
Jul 30 PHP
微信公众号开发之微信公共平台消息回复类实例
Nov 14 PHP
浅谈PHP中JSON数据操作
Jul 01 PHP
php计算title标题相似比的方法
Jul 29 PHP
PHP操作MySQL的mysql_fetch_* 函数的常见用法教程
Dec 25 PHP
Symfony模板的快捷变量用法实例
Mar 17 PHP
PHP载入图像imagecreatefrom_gif_jpeg_png系列函数用法分析
Nov 14 PHP
PHP实现的DES加密解密封装类完整实例
Apr 29 PHP
php获取微信共享收货地址的方法
Dec 21 PHP
Yii2框架实现登陆添加验证码功能示例
Jul 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
德生BCL3000的电路分析和打磨
2021/03/02 无线电
PHP的pcntl多进程用法实例
2015/03/19 PHP
PHP实现linux命令tail -f
2016/02/22 PHP
PHP有序表查找之二分查找(折半查找)算法示例
2018/02/09 PHP
laravel框架中控制器的创建和使用方法分析
2019/11/23 PHP
读jQuery之十二 删除事件核心方法
2011/07/31 Javascript
图片轮换效果实现代码(点击按钮停止执行)
2013/04/12 Javascript
javascript避免数字计算精度误差的方法详解
2014/03/05 Javascript
鼠标事件的screenY,pageY,clientY,layerY,offsetY属性详解
2015/03/12 Javascript
在Mac OS下使用Node.js的简单教程
2015/06/24 Javascript
javascript实现简单加载随机色方块
2015/12/25 Javascript
vue组件传递对象中实现单向绑定的示例
2018/02/28 Javascript
微信小程序实现星级评分和展示
2018/07/05 Javascript
详解vuex中action何时完成以及如何正确调用dispatch的思考
2019/01/21 Javascript
在vue中实现嵌套页面(iframe)
2020/07/30 Javascript
利用Python脚本在Nginx和uwsgi上部署MoinMoin的教程
2015/05/05 Python
使用tensorflow实现AlexNet
2017/11/20 Python
Python实现批量压缩图片
2018/01/25 Python
使用python接入微信聊天机器人
2020/03/31 Python
python实现大文件分割与合并
2019/07/22 Python
使用pip安装python库的多种方式
2019/07/31 Python
python 遍历pd.Series的index和value
2019/11/26 Python
PyQT5 emit 和 connect的用法详解
2019/12/13 Python
基于Python爬取搜狐证券股票过程解析
2020/11/18 Python
美国批发零售网站:GearXS
2016/07/26 全球购物
美国职棒大联盟官方网上商店:MLBShop.com
2017/11/12 全球购物
小学生家长评语集锦
2014/01/30 职场文书
就业意向书
2014/07/29 职场文书
关于感恩的演讲稿400字
2014/08/26 职场文书
2014年城管工作总结
2014/11/20 职场文书
2015年幼儿园新年寄语
2014/12/08 职场文书
二年级语文上册复习计划
2015/01/19 职场文书
2015年企业员工工作总结范文
2015/05/21 职场文书
go语言-在mac下brew升级golang
2021/04/25 Golang
python 中的@运算符使用
2021/05/26 Python
Redis实现一个账号只能登录一个设备
2022/04/19 Redis