CodeIgniter框架数据库基本操作示例

本文实例讲述了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相关内容感兴趣的读者可查看本站专题:《codeigniter入门教程》、《CI(CodeIgniter)框架进阶教程》、《php优秀开发框架总结》、《ThinkPHP入门教程》、《ThinkPHP常用方法总结》、《Zend FrameWork框架入门教程》、《php面向对象程序设计入门教程》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》

希望本文所述对大家基于CodeIgniter框架的PHP程序设计有所帮助。

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容