您现在的位置是:首页 > cms教程 > Discuz教程Discuz教程

Discuz!X3.1数据库的操作介绍

费汐家2025-07-20Discuz教程已有人查阅

导读MVC全名是Model-View-Controller,是模型(model)-视图(view)-控制器(controller)的缩写,它是一种软件设计思想。使用一种业务逻辑,数据和显示分离的方法组织代码,实现代码复用的较大化

MVC全名是Model-View-Controller,是模型(model)-视图(view)-控制器(controller)的缩写,它是一种软件设计思想。使用一种业务逻辑,数据和显示分离的方法组织代码,实现代码复用的较大化。MVC的执行流程
mvc执行流程
模型目录介绍
内置模型目录
产品根目录/source/class/table/table_xxx.php
插件模型目录
产品根目录/source/plugin/插件目录/table/table_xxx.php模型调用方法
内置模型调用
C::t('模型类名')->模型方法()
<?php
$data = C::t('common_credit_rule')->fetch_all_rule();
print_r($data);
//通过$action动作取出数据
$data1 = C::t('common_credit_rule')->fetch_all_by_action(reply);
print_r($data1);
?>
插件模型调用
C::t('#插件标识符#模型类名')->模型方法()
<?php
//调用插件模型
$data2 = C::t('#licai#test_db')->test()
?>
模型基类属性介绍
属性名 属性值
$_table 数据表名称
$_pk 数据表主键名称
%_pre_cache_key 数据缓存Key前缀

用法:
$this->_table = 'test_db';//数据库表名称
$this->_pk = 'dId';//数据表主键名称
$this->_pre_cache_key = 'test_db_';//数据缓存
模型基类CURD方法介绍
方法名 方法作用
insert() 插入数据
delete() 删除数据
update 更新数据
fetch() 根据主键值查询数据
fetch_all() 根据主键值查询数据组
range() 查询指定范围的数据
count() 计算数据表数据总数

用法(模型):

<?php
//防止程序跳过主程序执行判断
if(!defined('IN_DISCUZ')) {
exit('Access Denied');
}
class table_test_db extends discuz_table{
public function __construct() {
$this->_table = 'test_db';//数据库表名称
$this->_pk = 'dId';//数据表主键名称
//$this->_pre_cache_key = 'test_db_';//数据缓存
parent::__construct();
}
//插入数据
public function add_name($name){
$this->insert(array(
'dname'=>$name
));
}
//更新数据
public function change_name_by_id($dId,$name){
$this->update($dId,array(
'dName' => $name,
));
}
//删除数据
public function delete_by_id($dId){
$this->delete($dId);
}
//取数据区间
public function get_last_name(){
return $this -> range(0,5,'DESC');
}
}
?>

用法(控制器):

<?php
header("content-type:text/html;charset=utf-8");
//调用插件模型
$dId = 100;
$name = "2121312";
//C::t('#licai#test_db')->add_name($name);
//C::t('#licai#test_db')->change_name_by_id('2',$name);
//C::t('#licai#test_db')->delete_by_id($dId);
//$data = C::t('#licai#test_db')->fetch($dId);取单条数据
//print_r($data);
//$data = C::t('#licai#test_db')->fetch_all(array(1,2,5));取多条数据
//print_r($data);
//$data = C::t('#licai#test_db')->count();计算数据
//print_r($data);
$data = C::t('#licai#test_db')->get_last_name();
print_r($data);
?>

模型基类其他方法介绍

方法名 方法作用
truncate() 清空数据表
optimize() 优化数据表
checkpk 检查主键是否设置
fetch_all_field() 取出所有字段
getTable() 获取表名称

用法
<?php
header("content-type:text/html;charset=utf-8");
//调用插件模型
$dId = 100;
$name = "2121312";
//C::t('#licai#test_db')->truncate();//清空数据表
//C::t('#licai#test_db')->optimize();
//C::t('#licai#test_db')->checkpk();//检查是否设置pk值主键
//$data = C::t('#licai#test_db')->fetch_all_field();//取出所有字段
//print_r($data);
//$data = C::t('#licai#test_db')->getTable();//获取表名称
//print_r($data);

本文标签:

很赞哦! ()

相关源码

  • (自适应响应式)门窗定制门业带视频功能pbootcms模板下载本模板采用PbootCMS内核开发,为门窗制造、定制安装企业打造,通过可视化后台管理系统快速构建品牌官网。自适应设计确保在手机、平板、电脑等设备上均能获得优质浏览体验查看源码
  • 响应式高端家居家具装修类pbootcms模板网站源码家居装修、空间设计企业打造的营销型网站解决方案,基于PbootCMS内核深度开发。采用前沿响应式架构,适配手机端与PC端浏览体验查看源码
  • (PC+WAP)激光水幕音乐喷泉设备工程网站源码下载本模板基于PbootCMS系统开发,为喷泉设备工程类企业设计,特别适合展示音乐喷泉、激光水幕等水景艺术项目。采用响应式技术,确保各类工程案例在不同设备上都能呈现视觉效果。查看源码
  • (PC+WAP)绿色草坪地坪操场pbootcms网站模板该模板基于PbootCMS内核开发,专为人造草坪、地坪施工企业设计,采用绿色主题呼应行业属性,实现PC与WAP端全栈响应式适配,确保跨设备无缝浏览体验。查看源码
  • (PC+WAP)绿色环保建筑设备通用行业pbootcms源码下载通过模块调整可适配园林景观、装配式建筑、绿色装修等生态建设相关领域。预制绿色建材展示、能耗模拟等专业模块,集成项目案例、环保工艺等建筑行业特色内容结构,测试数据包含LEED认证体系查看源码
  • (自适应)游泳馆泳池水处理器设备pbootcms网站模板免费下载专注服务于泳池水处理设备制造商、泳池系统工程商等企业用户。模板预设设备分类体系、技术参数展示模块和解决方案呈现页面,满足行业特有展示需求。查看源码
分享笔记 (共有 篇笔记)
验证码:

本栏推荐