应V9粉丝的建议,本人今天讲一下 MVC中的M 数据库模型

首先 在 phpcms\model  建一个模型文件
test_model.class.php

<?php
defined('IN_PHPCMS') or exit('No permission resources.');
pc_base::load_sys_class('model', '', 0);
class test_model extends model {
        
        public $table_name;
        public function __construct() {
                $this->db_config = pc_base::load_config('database');
                $this->db_setting = 'default';
                $this->table_name = 'test';
                parent::__construct();
        }
}
?>

然后  在数据库里面创建一张表 也可以在后台自定义个模型 现在为了测试 自己手写SQL命令吧

use  phpcmsv9    这步  你使用V9的数据库  如果你用PHPMYADMIN  就选择V9的数据库就行了

create table v9_test(name char(255))engine=myisam;    注意安装时的表前缀名

下面是控制器里面的文件  打开我们前一讲用到的index.php文件吧 在modules/test

<?php
defined('IN_PHPCMS') or exit('No permission resources.');
class index {
        function __construct() {
                pc_base::load_app_func('global');
                $this->db = pc_base::load_model('test_model');
        }
        
        public function init() {
                //echo 'aaa';
                
                /**
                 * 执行添加记录操作
                 * @param $data                 要增加的数据,参数为数组。数组key为字段值,数组值为数据取值
                 * @param $return_insert_id 是否返回新建ID号
                 * @param $replace 是否采用 replace into的方式添加数据
                 * @return boolean
                 */
                
                $num = rand(1000,9999);
                
                $data = array(
                        'name'=>'PHPCMS'.$num,
                        );
                echo $this->db->insert($data,true); //可以获得新添加的ID,但是目前的没有加自增 出不来 
        }
        
        public function t(){
                //echo 'bbbb';
                //$sss = 'cccccccc';
                
                /**
                 * 获取单条记录查询
                 * @param $where                 查询条件
                 * @param $data                 需要查询的字段值[例`name`,`gender`,`birthday`]
                 * @param $order                 排序方式        [默认按数据库默认方式排序]
                 * @param $group                 分组方式        [默认为空]
                 * @return array/null        数据查询结果集,如果不存在,则返回空
                 */
                
                $where = array();//可以为数组,但是用数组的话 只能是 = 的情况 所以我们采用字符串的方式,更灵活(比

如 id>10 id in(1,2,3))
                
                print_r($this->db->get_one("name like 'phpcms%'"));//获取单条
                
                echo "<br />";
                
                
                /**
                 * 查询多条数据并分页
                 * @param $where
                 * @param $order
                 * @param $page
                 * @param $pagesize
                 * @return unknown_type
                 */
                print_r($this->db->listinfo("name like 'phpcms%'"));//多条
                //include template('test', 't');
        }
        
}
?>

V9 二次开发技术篇之 模型数据库的更多相关文章

  1. PHPCMS V9二次开发]自定义字段模型-文本组

    phpcms v9,我们在做类似于酒店房型等类型的时候,需要用到文本组字段模型,但phpcms并未提供该模型.如下图所示效果: 展示效果如下: 步骤/方法 打开phpcms\modules\conte ...

  2. [PHPCMS V9二次开发]自定义字段模型-添加字段类型

    步骤/方法 打开phpcms\modules\content\fields目录,复制文件夹downfiles,并改名为textgroups. 打开phpcms\modules\content\fiel ...

  3. phpcms v9二次开发之模型类的应用(1)

    在<phpcms二次开发之模型类model.class.php>中讲到了模型类的建立方法,接下来我讲一下模型类的应用.      前段时间我基于phpcms v9开发了一个足球网.足球网是 ...

  4. phpcms v9二次开发之模型类的应用(2)

    二.模型操作方法select()--查询语句         //查询级别管理列表信息    public function levellists() { $lelists = $this->l ...

  5. phpcms v9二次开发之数据模型类

    系统模型类:model.class.php数据模型类的位置:/phpcms/libs/classes phpcms v9二次开发中,我们要经常需要对模块的数据表进行查询.添加.修改和删除数据等操作,所 ...

  6. PHPCMS V9二次开发便捷自定义后台入口文件夹

    phpcms v9二次开发便捷自定义后台入口文件夹 最新发布的phpcms v9由于采用了mvc的设计模式,所以它的后台访问地址是固定的,虽然可以通过修改路由配置文件来实现修改,但每次都修改路由配置文 ...

  7. phpcms v9二次开发笔记

    phpcms是基于MVC结构的. 安装: 下载phpcms_v9.5.9_UTF8.zip:新建目录phpcms,将压缩包里install_package目录下所有文件复制到phpcms目录.浏览器输 ...

  8. phpcms v9 二次开发 - 自己添加源文件

    一.在根目录添加入口文件, 我现在要在根目录添加一个文件名为test.php 这样一个文件,为了调用系统的公用类和函数,必须加入一下包含文件 test.php代码如下 <?phpdefine(' ...

  9. phpcms V9 二次开发------(获取点击数详解)

    关于phpcms V9的点击数的使用应该有不少数是直接调用网上搜索到的代码,但是对于一些想要深入研究开发的人来说,看到网上的代码后更是不解,本人这几天看了看,了解了一些东西,在这里写出来分享一下,首先 ...

随机推荐

  1. ISO7816协议中几个时间

    T=0协议 第一.初始等待时间: 复位应答时,卡片回复的连续两个数据的起始沿之间的时间间隔,这个时间间隔不超过9600etu, 在波 特率为9600是,该时间为1s 第二.GT: 两个连续字符之间的最 ...

  2. UOJ #78 二分图最大匹配

    #78. 二分图最大匹配 从前一个和谐的班级,有 nl 个是男生,有 nr 个是女生.编号分别为 1,…,nl 和 1,…,nr. 有若干个这样的条件:第 v 个男生和第 u 个女生愿意结为配偶. 请 ...

  3. 辗转相除法_欧几里得算法_java的实现(求最大公约数)

    辗转相除法,又被称为欧几里德(Euclidean)算法, 是求最大公约数的算法. 当然也可以求最小公倍数. 算法描述 两个数a,b的最大公约数记为GCD(a,b).a,b的最大公约数是两个数的公共素因 ...

  4. 寻找INTERIGHT衬衫男神! [复制链接]

    寻找INTERIGHT衬衫男神! - 公告板 - 京东内部论坛 - Powered by Discuz! 寻找INTERIGHT衬衫男神!   [复制链接]

  5. HDU 5266 pog loves szh III (线段树+在线LCA转RMQ)

    题目地址:HDU 5266 这题用转RMQ求LCA的方法来做的很easy,仅仅须要找到l-r区间内的dfs序最大的和最小的就能够.那么用线段树或者RMQ维护一下区间最值就能够了.然后就是找dfs序最大 ...

  6. 招一位安防软件project师,嵌入式开发project师

    岗位职责 1.负责海思平台IPC产品应用层软件设计及维护 2.私有平台协议对接及为第三方提供技术支持. 任职资格: 1.较强的学习.领悟能力,能够高速熟悉公司现有代码. 2.熟练掌握C.C++开发语言 ...

  7. Spring AOP 实现原理与 CGLIB 应用--转

    AOP(Aspect Orient Programming),作为面向对象编程的一种补充,广泛应用于处理一些具有横切性质的系统级服务,如事务管理.安全检查.缓存.对象池管理等.AOP 实现的关键就在于 ...

  8. [转] PostgreSQL的时间/日期函数使用

    PS:http://blog.csdn.net/love_rongrong/article/details/6712883 字符串模糊比较 日期类型的模糊查询是不能直接进行的,要先转换成字符串然后再查 ...

  9. Annotation注解

    概述 Annotation是JDK 5.0以后提供对元数据的支持,可以在编译.加载和运行时被读取,并执行相应的处理.所谓Annotation就是提供了一种为程序元素设置元数据的方法,可用于修饰包.类. ...

  10. 9、第九节课jquery选择器jq2,20151007

    1.表单选择器 2.not 里面不能加其他标签 $div p:not(not:disable)  错误的 $div p:not(:disable)  正确的 3.选择设置相应属性的标签项 $(&quo ...