phpcms v9二次开发之模型类的应用(2)
二、模型操作方法select()--查询语句
//查询级别管理列表信息
public function levellists() {
$lelists = $this->level->select();//查询语句方法
include $this->admin_tpl('level_list');//加载后台级别管理列表的模板
}
模型select()方法,默认情况下查询fb_level表所有字段的信息,上面的levellists()方法如果转化为mysql语句为:
public function levellists() {
$sql="select * from fb_level ";//sql查询语句方法
$lelists=$this->level->query($sql);
include $this->admin_tpl('level_list');//加载后台级别管理列表的模板
}
查询获取的数据列表如图:

三、模型操作方法update()--更新语句
//修改级别信息
public function editlevel() {
if(isset($_get['id'])){//获取要修改的级别id
$id = intval($_get['id']);
if(!$id) showmessage("操作失败");//如果获取的id为空,则返回操作提示信息
if(isset($_post['dosubmit'])) {
$this->level->update($_post['level'], array('id' => $id));
} else {
$where = array('id' => $_get['id']);//查询条件,是一个数组
$level_info = $this->level->get_one($where);//get_one()模型方法,获取一条记录
include $this->admin_tpl('level_edit');//加载后台级别修改的模板
}
}
}
写成等效的mysql语句
public function editlevel() {
if(isset($_get['id'])){//获取要修改的级别id
$id = intval($_get['id']);
if(!$id) showmessage("操作失败");//如果获取的id为空,则返回操作提示信息
if(isset($_post['dosubmit'])) {
$sql="update fb_level set level = '".$_post['level']."' where id = '".$id."' ";
$lelists=$this->level->query($sql);
} else {
$where = array('id' => intval( $_get['id']));//查询条件,是一个数组
$level_info = $this->level->get_one($where);//get_one()模型方法,获取一条记录
include $this->admin_tpl('level_edit');//加载后台级别修改的模板
}
}
}
修改别级效果图:

四、模型操作方法delete()--删除语句
//删除级别信息
public function dellevel() {
if(isset($_get['id'])){
$levelid = intval($_get['id']);
$result = $this->level->delete(array('id'=>$levelid));//模型删除语句
if($result){//返回删除结果提示信息
showmessage(l("操作成功"),'?m=football&c=level&a=levellists');
}else {
showmessage(l("操作失败"),'?m=football&c=level&a=levellists');
}
}
}
同样道理,写成等效的mysql的删除语句如
public function dellevel() {
if(isset($_get['id'])){
$id = intval($_get['id']);
$result=$this->level->query("delete from `fb_level` where `id` in ($id )");
if($result){//返回删除结果提示信息
showmessage(l("操作成功"),'?m=football&c=level&a=levellists');
}else {
showmessage(l("操作失败"),'?m=football&c=level&a=levellists');
}
}
}
至此,明白模型类model.class.php的查询、添加、修改、删除数据的运用,我们就可以在phpcms v9二次开发中根据需求随心所欲地开发自己的模块。
phpcms v9二次开发之模型类的应用(2)的更多相关文章
- phpcms v9二次开发之模型类的应用(1)
在<phpcms二次开发之模型类model.class.php>中讲到了模型类的建立方法,接下来我讲一下模型类的应用. 前段时间我基于phpcms v9开发了一个足球网.足球网是 ...
- phpcms v9二次开发之数据模型类
系统模型类:model.class.php数据模型类的位置:/phpcms/libs/classes phpcms v9二次开发中,我们要经常需要对模块的数据表进行查询.添加.修改和删除数据等操作,所 ...
- PHPCMS V9二次开发便捷自定义后台入口文件夹
phpcms v9二次开发便捷自定义后台入口文件夹 最新发布的phpcms v9由于采用了mvc的设计模式,所以它的后台访问地址是固定的,虽然可以通过修改路由配置文件来实现修改,但每次都修改路由配置文 ...
- PHPCMS V9二次开发]自定义字段模型-文本组
phpcms v9,我们在做类似于酒店房型等类型的时候,需要用到文本组字段模型,但phpcms并未提供该模型.如下图所示效果: 展示效果如下: 步骤/方法 打开phpcms\modules\conte ...
- phpcms v9二次开发笔记
phpcms是基于MVC结构的. 安装: 下载phpcms_v9.5.9_UTF8.zip:新建目录phpcms,将压缩包里install_package目录下所有文件复制到phpcms目录.浏览器输 ...
- phpcms V9 二次开发------(获取点击数详解)
关于phpcms V9的点击数的使用应该有不少数是直接调用网上搜索到的代码,但是对于一些想要深入研究开发的人来说,看到网上的代码后更是不解,本人这几天看了看,了解了一些东西,在这里写出来分享一下,首先 ...
- [PHPCMS V9二次开发]自定义字段模型-添加字段类型
步骤/方法 打开phpcms\modules\content\fields目录,复制文件夹downfiles,并改名为textgroups. 打开phpcms\modules\content\fiel ...
- phpcms v9 二次开发 - 自己添加源文件
一.在根目录添加入口文件, 我现在要在根目录添加一个文件名为test.php 这样一个文件,为了调用系统的公用类和函数,必须加入一下包含文件 test.php代码如下 <?phpdefine(' ...
- PHPCMS V9 二次开发常用代码集
0:调用最新文章,带所在版块 {pc:get sql="SELECT a.title, a.catid, b.catid, b.catname, a.url as turl ,b.url a ...
随机推荐
- logstash (?m) 经典例子
在和 codec/multiline 搭配使用的时候,需要注意一个问题,grok 正则和普通正则一样,默认是不支持匹配回车换行的.就像你需要 =~ //m 一样也需要单独指定,具体写法是在表达式开始位 ...
- SVN linux端配置
1.create a folder: mkdir /sandbox/svn 2.create svn repository: svnadmin create /sandbox/svn/ ...
- 如何编写一个JSON解析器
编写一个JSON解析器实际上就是一个函数,它的输入是一个表示JSON的字符串,输出是结构化的对应到语言本身的数据结构. 和XML相比,JSON本身结构非常简单,并且仅有几种数据类型,以Java为例,对 ...
- K - Leapin' Lizards - HDU 2732(最大流)
题意:在一个迷宫里面有一些蜥蜴,这个迷宫有一些柱子组成的,并且这些柱子都有一个耐久值,每当一只蜥蜴跳过耐久值就会减一,当耐久值为0的时候这个柱子就不能使用了,每个蜥蜴都有一个最大跳跃值d,现在想知道有 ...
- Cobar是提供关系型数据库(MySQL)分布式服务的中间件
简介 Cobar是提供关系型数据库(MySQL)分布式服务的中间件,它可以让传统的数据库得到良好的线性扩展,并看上去还是一个数据库,对应用保持透明. 产品在阿里巴巴稳定运行3年以上. 接管了3000+ ...
- poj 3046 Ant Counting (DP多重背包变形)
题目:http://poj.org/problem?id=3046 思路: dp [i] [j] :=前i种 构成个数为j的方法数. #include <cstdio> #include ...
- Zend Studio 10正式版破解(2013-02-26更新)
Zend Studio 10正式版注册破解(2013-02-26完成更新) 1.以下方法仅供技术交流学习,请勿非法使用,如长期使用请支持购买正版. 2.若你还没有最新安装程序? ZendStudio ...
- 如何实现数字lcd显示效果(原创)
如题,我最先想到的是找一种字体,然后来显示lcd的效果,但是字体又无法满足有空位的时候那个暗灰色的文字的效果,如下所示 就是前三位那些灰色的888,因为你设置数值的时候只能是从0-9的数字,而这灰色的 ...
- B/S架构的几种形式
1. 什么是B/S架构 B/S架构的全称为Browser/Server,即浏览器/服务器结构.Browser指的是Web浏览器,极少数事务逻辑在前端实现,但主要事务逻辑在服务器端实现.B/S架构的系统 ...
- JS和利用openssl的object C加密得到相同的aes加密密文
这是之前接到的一个工作内容,项目原本的登录操作是获得账号和密码以后,对密码进行一遍MD5加密,然后传递账号和密文到cgi文件.在c中获取到账户以后,从数据库中获取到密码,对密码进行一次MD5的加密,然 ...