CodeIgniter框架数据库基本操作示例
author:一佰互联 2019-04-25   click:145

本文实例讲述了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入门教程》、《CI(CodeIgniter)框架进阶教程》、《php优秀开发框架总结》、《ThinkPHP入门教程》、《ThinkPHP常用方法总结》、《Zend FrameWork框架入门教程》、《php面向对象程序设计入门教程》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》

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