CI Series -- 来个CRUD试试

1 篇文章 0 订阅

创建数据库, 实现CRUD

   
    - 说明
        为了在最短的时间内创建个原型(prototype), 采用用 Vertical Slice (VS) 最佳实践。 VS是应用程序的纵切面。 比如对我们要实现的原型来说,就是创建 View,Controller 和 Module, 来实现一个 blog 的最小的功能, 比如创建 blog
       
   
    - 创建数据库
        - 用 phpMyAdmin 创建数据库 blueblog
   
   
    - sql

DROP TABLE IF EXISTS `blog`;
       
CREATE TABLE IF NOT EXISTS `blog` (
          `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
          `content` varchar(255) NOT NULL,
          `createdate` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
          PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
 

       
    - 配置 CI 的 DB
        C:\ws\php\phplab\BlueBlog\application\config\database.php

$db['default']['hostname'] = 'localhost';
$db['default']['username'] = 'root';
$db['default']['password'] = '换成自己的密码';
$db['default']['database'] = 'blueblog';
 

       
       
    - 创建 controller
        - C:\ws\php\phplab\BlueBlog\application\controllers\blog.php

<?php if (!defined('BASEPATH')) exit('No direct script access allowed');

            class Blog extends CI_Controller
            {
               
                public function create()
                {
                    $content = urldecode($this->uri->segment(3, "Default content")); // 这里使用了 CI 的 URI lib, 用来解析从 URL 传过来的参数。
                    $blog = array($content);
                   
                    $sql = "INSERT INTO blog (content) VALUES (?)"; // SQL ?ϣ
                   
                    $this->load->database(); // 加载 数据库
                    $this->db->query($sql, $blog); // 执行 SQL
                }
            }?>
 

       
    - 测试 VS
        - http://127.0.0.1/blueblog/index.php/blog/create/Blue blog test content
            这里注意下 CI 的 URL mapping: blog/create/Blue blog test content => controller class/function/param
               
                输入上面的URL, 回车, 查数据表, yes! 数据创建成功
                id     content     createdate
                1     Blue blog test content     2011-05-30 14:34:48
               
               
    - 为 blog 添加 view 和其他操作
        - CRUD
           
        - 创建 view
            - C:\ws\php\phplab\BlueBlog\application\views\blog.php
                ---------------------------------------------- CS

<!DOCTYPE html>
                    <html lang="en">
                    <head>
                    <meta charset="utf-8">
                    <title>Blog List</title>
                    </head>
                    <body>
                    <h1>Blog List</h1>
                    <code> <?php
                    if($list){
                        foreach ($list as $row)
                        {
                            echo $row->id. " | " . $row->content. " | " . $row->createdate . "<br/>";
                        }

                        echo 'Total Results: ' . $num_rows;
                    }
                    ?> </code>
                    <p><br />
                    Page rendered in {elapsed_time} seconds</p>

                    </body>
                    </html>
 

                ---------------------------------------------- CE
               
        - Controller 实现读操作
            - C:\ws\php\phplab\BlueBlog\application\controllers\blog.php
                在 controller 里添加读操作
                ---------------------------------------------- CS

                    public function read()
                    {
                        $this->load->database();
                        $query = $this->db->query('SELECT * FROM `blog`');
                       
                        $blog = array();
                        $blog['list'] = $query->result();
                        $blog['num_rows'] = $query->num_rows();

                        $this->load->view('blog', $blog);
                    }
 

                ---------------------------------------------- CE
               
        - http://127.0.0.1/blueblog/index.php/blog/read
            测试下
           
           
        - 嫌页面丑的加点儿 CSS
           
            ---------------------------------------------- CS

              <style type="text/css">
                body {
                    background-color: #fff;
                    margin: 40px;
                    font-family: Lucida Grande, Verdana, Sans-serif;
                    font-size: 14px;
                    color: #4F5155;
                }

                a {
                    color: #003399;
                    background-color: transparent;
                    font-weight: normal;
                }

                h1 {
                    color: #444;
                    background-color: transparent;
                    border-bottom: 1px solid #D0D0D0;
                    font-size: 16px;
                    font-weight: bold;
                    margin: 24px 0 2px 0;
                    padding: 5px 0 6px 0;
                }

                code {
                    font-family: Monaco, Verdana, Sans-serif;
                    font-size: 12px;
                    background-color: #f9f9f9;
                    border: 1px solid #D0D0D0;
                    color: #002166;
                    display: block;
                    margin: 14px 0 14px 0;
                    padding: 12px 10px 12px 10px;
                }
                </style>
 

            ---------------------------------------------- CE

    - CR 完了, 剩下的也不难了吧

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值