CodeIgniter框架数据库基本操作示例
发布:smiling 来源: PHP粉丝网 添加日期:2021-09-18 13:55:26 浏览: 评论:0
本文实例讲述了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(!emptyempty($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>
Tags: CodeIgniter数据库操作
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)