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

本文标签:

很赞哦! ()

相关源码

  • (PC+WAP)五金机械设备营销型模板下载带在线留言为机械设备制造商设计的营销型模板,集成产品参数对比系统、产品展示模块和询价管理功能。采用PbootCMS开发内核,PHP7+运行环境。手工编写语义化HTML5结构,CSS3动画优化交互体验。查看源码
  • (自适应)蓝色五金制品配件管件pbootcms网站源码下载基于PbootCMS内核开发的五金行业专用模板,采用响应式设计架构,确保产品展示在各类移动设备上的呈现。通过模块化布局与工业风视觉设计,帮助五金企业高效展示产品规格、应用场景及技术支持,建立专业可靠的行业形象。查看源码
  • 帝国CMS中小学生知识点试题练习题考试源码下载基于帝国CMS后台管理系统,支持在线修改联系信息、网站参数等配置,操作流程简洁明了。专注于中小学教育领域,集成知识点总结、试题练习、考试资讯等学习资源,为师生提供全面的在线学习支持与服务。查看源码
  • 帝国cms7.5淘宝客电商品牌特价带手机站带会员模板下载为电商品牌特价展示设计的帝国CMS模板,集成PC端与移动端双平台适配。采用瀑布流商品布局,支持品牌分类聚合展示,突出特价促销视觉冲击力。查看源码
  • (自适应)高端集团跨国公司产业联盟机构网站模板免费下载基于PbootCMS内核开发的集团级企业网站模板,采用响应式设计架构,确保在各类移动设备上获得浏览体验。通过模块化布局与简约大气的视觉风格,帮助集团企业高效展示组织架构、发展历程和业务矩阵,建立专业的企业形象窗口。查看源码
  • (自适应)证书授权书防伪查询系统pbootcms模板本模板基于PbootCMS系统开发,为各类证书查询机构设计,可快速构建高效安全的证书核验平台。采用响应式布局技术,自动适配手机端操作,支持批量导入证书数据,提供便捷的查询接口,满足机构证书管理及用户在线核验需求。查看源码
分享笔记 (共有 篇笔记)
验证码:

本栏推荐