您现在的位置是:首页 > 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);

本文标签:

很赞哦! ()

相关源码

  • 手机软件APP游戏软件下载网站Pbootcms模板(自适应)基于PbootCMS内核深度开发的网站模板,为移动互联网时代打造。无论是手机APP推广、游戏软件展示,还是各类企业官网需求,本模板都能通过简单的图文替换实现行业无缝切换查看源码
  • 响应式艺考培训学校机构pbootcms模板html5源码基于PbootCMS免费开源内核开发,为艺考培训学校与艺术机构设计,替换图文即可快速适配全行业需求。响应式布局兼容手机/PC端,数据实时同步,运维效率提升300%。查看源码
  • 帝国cms7.5品牌连锁店招商加盟商机网站模版源码本模板为招商加盟、创业投资、品牌连锁等商业领域设计,采用帝国CMS7.5内核构建,整体风格简洁大气,突出商业信任感与专业度,适合各类招商加盟项目展示、品牌连锁店宣传等商业应用场景。查看源码
  • (PC+WAP)绿色草坪地坪操场pbootcms网站模板该模板基于PbootCMS内核开发,专为人造草坪、地坪施工企业设计,采用绿色主题呼应行业属性,实现PC与WAP端全栈响应式适配,确保跨设备无缝浏览体验。查看源码
  • (PC+WAP)家居装饰家装建材营销型网站pbootcms模板下载本模板基于PbootCMS开发,主要服务于家居装饰、建材及相关行业。采用现代化设计风格,同时适配PC和移动设备访问。模板结构清晰,突出展示家装案例和建材产品,帮助企业在线上建立专业形象,有效展示产品与服务优势。查看源码
  • (自适应响应式)环保净化器家用电器网站免费模板针对环保设备、环境监测等领域的PbootCMS响应式模板,通过模块化设计清晰展示污水处理技术、空气净化系统等解决方案。移动端呈现环保数据可视化图表,后端统一管理确保项目案例、技术等资料多端同步。查看源码
分享笔记 (共有 篇笔记)
验证码:

本栏推荐