`
bruce.lu
  • 浏览: 34040 次
  • 性别: Icon_minigender_1
  • 来自: 大连
社区版块
存档分类
最新评论

CI Series -- 来个CRUD试试

阅读更多

创建数据库, 实现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 完了, 剩下的也不难了吧

分享到:
评论

相关推荐

    面向配置的CRUD框架,基于d2-admin的d2-crud,简化d2-crud配置,快速开发crud功能;支持远程数据字典,国

    面向配置的CRUD框架,基于d2-admin的d2-crud,简化d2-crud配置,快速开发crud功能;支持远程数据字典,国际手机号校验,alioss、腾讯云cos、七牛云文件上传,省市区选择,权限管理,代码生成

    Laravel开发-laravel-admin-generate-crud

    总结来说,`Laravel开发-laravel-admin-generate-crud`的主题是利用Laravel-admin扩展来自动化CRUD的生成,从而提升开发效率,使开发者能更专注于业务逻辑的实现。通过这个工具,你可以快速构建出功能完备、易于维护...

    spring-boot-04-web-restfulcrud

    本教程聚焦于Spring Boot 2.4版本,针对初学者提供一个完整的RESTful CRUD(创建、读取、更新、删除)操作实例,结合尚硅谷B站教程进行讲解。对于已经熟悉Spring Boot 1.5的老手来说,这个教程可能会揭示2.4版本的...

    spring-boot-web-restfulcrud代码示例

    在“spring-boot-web-restfulcrud”这个项目中,我们关注的是如何使用 Spring Boot 构建一个基于 Web 的 RESTful CRUD(创建、读取、更新和删除)应用。RESTful 风格是一种软件架构风格,用于设计网络应用程序,通过...

    基于spring-boot+quartz的CRUD任务管理系统源码+项目说明.zip

    基于spring-boot+quartz的CRUD任务管理系统源码+项目说明.zip基于spring-boot+quartz的CRUD任务管理系统源码+项目说明.zip基于spring-boot+quartz的CRUD任务管理系统源码+项目说明.zip基于spring-boot+quartz的CRUD...

    d2-crud-plus:面向配置的crud框架,基于d2-admin的d2-crud,简化d2-crud配置,快速开发crud功能;支持远程数据字典,国际手机号校验,alioss、腾讯云cos、七牛云文件上传、头像裁剪,省市区选择,权限管理,代码生成

    【d2-crud-plus】面向配置的crud编程基于d2-admin 的 d2-crud 的扩展,简化d2-crud配置,快速开发crud功能。fast-crud支持vue3的fast-crud已发布,开发crud更快、更强、更爽。文档地址: 示例地址: / 仓库地址: / ...

    spring-boot-web-crud.zip

    在本示例 "spring-boot-web-crud.zip" 中,我们将探讨如何使用 Spring Boot 构建一个 Web 应用来执行基本的 CRUD(创建、读取、更新、删除)操作,同时结合 Thymeleaf 模板引擎进行前端展示。 Thymeleaf 是一个现代...

    Angular-angular-mat-table-crud.zip

    Angular-angular-mat-table-crud.zip,角材料表的crud操作角材料表的crud,Angularjs于2016年发布,是Angularjs的重写版。它专注于良好的移动开发、模块化和改进的依赖注入。angular的设计目的是全面解决开发人员的web...

    fast-crud:fast-crud,d2-crud-plus的vue3升级版

    - `fast-crud`是`d2-crud-plus`的升级版,继承了其原有的强大功能,并针对Vue3进行了优化。 - 改进了`d2-crud-plus`中的部分设计,修复已知问题,提升了用户体验。 - 增强了对新特性的支持,如Suspense、Teleport...

    gf-8-xgf-crud-cas-shiro_java_

    【标题】"gf-8-xgf-crud-cas-shiro_java_" 暗示这是一个基于Java的项目,可能是一个Web应用程序框架,包含了gf(可能是自定义框架或组件)、xgf-crud(可能代表一个用于数据操作的模块,比如CRUD即创建、读取、更新...

    Ajax-Spring-MVC-CRUD-form-submit-and-ajax.zip

    Ajax-Spring-MVC-CRUD-form-submit-and-ajax.zip,spring mvc crud应用程序(springmvc、hibernate 4.x、bootstrap 3.x、jquery、mysql),ajax代表异步javascript和xml。它是多种web技术的集合,包括html、css、json...

    restful-crud-实验.tar.gz

    这个名为"restful-crud-实验.tar.gz"的压缩包文件显然是一个教学资源,旨在帮助学习者理解如何在SpringBoot应用中实现基于REST的创建(Create)、读取(Read)、更新(Update)和删除(Delete)功能。 首先,我们要...

    Laravel开发-laravel-exa-crud

    `laravel-exa-crud`很可能是为了演示如何在 Laravel 中实现这些基本操作的一个示例项目。下面我们将深入探讨如何在 Laravel 中进行 CRUD 开发。 1. **安装与配置 Laravel** - 安装 Laravel 使用 Composer,运行 `...

    spring-boot-restful-crud-01.zip

    Java SpringBoot 课程 restful crud 实验资源 ...GitHub中有源码 https://github.com/kevinkda/MarkdownRepository/tree/master/Develop%20Demo/Java%20Framework/Spring/SpringBoot/spring-boot-restful-crud-01

    Ajax-laravel-jquery-ajax-crud.zip

    Ajax-laravel-jquery-ajax-crud.zip,用jquery的ajax特性简单实现laravel crud,ajax代表异步javascript和xml。它是多种web技术的集合,包括html、css、json、xml和javascript。它用于创建动态网页,其中网页的小部分...

    ssm-crud.zip

    这个"ssm-crud.zip"压缩包提供了一个完整的整合案例,涵盖了基本的CRUD(创建、读取、更新、删除)操作以及分页功能。下面我们将详细探讨这三个框架的核心概念、它们如何协同工作以及在实际开发中的应用。 1. **...

    Laravel开发-laravel-exa-crud .zip

    总的来说,"Laravel开发-laravel-exa-crud"项目是一个典型的Laravel CRUD应用示例,涵盖了从基础的框架设置到数据库交互、路由、控制器、视图和表单验证等多个关键方面,为初学者提供了全面的实战练习。通过学习和...

    spring-boot-06-crud

    在本项目"spring-boot-06-crud"中,我们主要关注的是如何使用Spring Boot实现一个基本的CRUD(创建、读取、更新、删除)功能。Spring Boot是Java开发中的一个流行框架,它简化了配置,使得快速构建可运行的应用程序...

    Ajax-codeigniter-ajax-crud.zip

    Ajax-codeigniter-ajax-crud.zip,使用codeigniter、jquery和ajax实现简单的crud,ajax代表异步javascript和xml。它是多种web技术的集合,包括html、css、json、xml和javascript。它用于创建动态网页,其中网页的小...

    Ajax-laravel-ajax-crud.zip

    Ajax-laravel-ajax-crud.zip,拉维尔5.8阿贾克斯积垢,ajax代表异步javascript和xml。它是多种web技术的集合,包括html、css、json、xml和javascript。它用于创建动态网页,其中网页的小部分在不重新加载网页的情况下...

Global site tag (gtag.js) - Google Analytics