>  기사  >  백엔드 개발  >  CodeIgniter 프레임워크 데이터베이스 기본 작업

CodeIgniter 프레임워크 데이터베이스 기본 작업

无忌哥哥
无忌哥哥원래의
2018-07-12 09:11:571876검색

이 문서의 예에서는 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';

이제 초보자는 데이터베이스와 사용자 테이블을 즉시 만들 필요가 없습니다. 이것은 내 소스 코드 패키지에 있으며 직접 가져올 수 있지만 먼저 데모 데이터베이스를 만들어야 합니다.

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(&#39;reg_view&#39;);//这个是使用哪个视图来显示相当于Smarty中的display
  }
  function reg_insert(){
    $data[&#39;name&#39;] = $this->input->post(&#39;name&#39;);//这个是指取得POST数组的值然后赋值一个心的数组
    $data[&#39;sex&#39;] = $this->input->post(&#39;sex&#39;);
    $data[&#39;age&#39;] = $this->input->post(&#39;age&#39;);
    $data[&#39;pwd&#39;] = md5($this->input->post(&#39;pwd&#39;));//这里用了一个md5加密只是为了演示
    $data[&#39;email&#39;] = $this->input->post(&#39;email&#39;);
    $this->db->insert(&#39;user&#39;,$data);//这个是数据库操作插入操作
    redirect(&#39;/reg/reg_select/&#39;, &#39;refresh&#39;);//这个是跳转函数是url辅助函数里面的一个方法
  }
  function reg_select(){//这个查询数据库的方法
    $this->db->select(&#39;id,name,sex,age,email&#39;);//这里是查询要显示的字段,可不能像我第一次这样写啊$this->db->select(&#39;id&#39;,&#39;name&#39;,&#39;sex&#39;,&#39;age&#39;,&#39;email&#39;);
    $data[&#39;query&#39;] = $this->db->get(&#39;user&#39;);//这个是取得数据(如果你上面写的和我第一次一样的话只能取的一个字段)
    $this->load->view(&#39;select_view&#39;,$data);//这里是调用哪个视图并分配数据给指定视图显示
  }
  function reg_delete(){//删除数据的操作
    $id = $this->input->get(&#39;id&#39;);//这里是取得get传过来的值
    $this->db->where(&#39;id&#39;,$id);//这里是做where条件这个相当重要,如果没有这个你有可能把这个表数据都清空了
    $this->db->delete(&#39;user&#39;);//删除指定id数据
    redirect(&#39;/reg/reg_select/&#39;, &#39;refresh&#39;);//同上跳转
  }
  function reg_update(){//跟新数据的操作
    $data[&#39;id&#39;] = $this->input->get(&#39;id&#39;);//同上取的get传值过来的ID
    $this->load->view(&#39;update_view&#39;,$data);//同上调用视图分配数据
  }
  function reg_com_update(){//这个是真正的跟新数据操作方法
    $id = $this->input->post(&#39;id&#39;);//同上取得post中的id值
    $data = array(//把post数组的值封装到新的数组中为了下面跟新操作用
          &#39;name&#39;=>$this->input->post(&#39;name&#39;),
          &#39;pwd&#39;=>md5($this->input->post(&#39;pwd&#39;)),
          &#39;email&#39;=>$this->input->post(&#39;email&#39; )
        );
    if(!empty($id) && (count($data) > 1)){//判断id值是否传过来并且判断封装的数组是否有元素存在
      $this->db->where(&#39;id&#39;,$id);//同上准备where条件
      $this->db->update(&#39;user&#39;,$data);//跟新操作
    }
    redirect(&#39;/reg/reg_select/&#39;, &#39;refresh&#39;);//同上跳转
  }
}
?>

뷰 코드는 다음과 같습니다

<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>用户注册</title>
  </head>
  <body>
    <form action="<?php echo site_url(&#39;reg/reg_insert/&#39;); ?>" 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(&#39;reg/reg_delete&#39;);?>?id=<?php echo $item->id;?>" rel="external nofollow" >删除</a> |
          <a href="<?php echo site_url(&#39;reg/reg_update&#39;);?>?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(&#39;reg/reg_com_update&#39;);?>" 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.