> 백엔드 개발 > PHP 튜토리얼 > CodeIgniter 프레임워크 데이터베이스 기본 작업

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

无忌哥哥
풀어 주다: 2023-04-03 06:30:02
원래의
2096명이 탐색했습니다.

이 문서의 예에서는 CodeIgniter 프레임워크 데이터베이스의 기본 작업을 설명합니다. 참조를 위해 모든 사람과 공유하세요. 세부 사항은 다음과 같습니다.

지금 시작하세요. 먼저 CI 프레임워크를 자신의 서버 디렉터리에 넣고 config/config.php를 구성하세요.

1

$config['base_url'] = 'http://localhost:90/CI/';

로그인 후 복사

다음으로 config/databases.php에서 데이터베이스를 구성하세요. .다음과 같이 연습 구성을 합니다.

1

2

3

4

5

$db['default']['hostname'] = 'localhost';

$db['default']['username'] = 'root';

$db['default']['password'] = 'root';

$db['default']['database'] = 'demo';

$db['default']['dbdriver'] = 'mysql';

로그인 후 복사

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

reg 클래스 코드 뷰 코드는 다음과 같습니다

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

<?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;);//同上跳转

  }

}

?>

로그인 후 복사

뷰 코드는 다음과 같습니다

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

<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>

로그인 후 복사

두 번째 뷰 코드는 다음과 같습니다

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

<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으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿