您现在的位置是:首页 > 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端获得一致的专业体验。查看源码
  • pbootcms模板(PC+WAP)火锅加盟餐饮美食类带留言源码基于PbootCMS内核深度开发,为火锅、餐饮品牌打造的营销型解决方案。采用红色主题传递行业活力,实现PC与WAP端适配。查看源码
  • (自适应)营销型健身器材产品设备类pbootcms模板网站为健身器材企业打造的营销型网站模板,基于PbootCMS开源内核开发。采用HTML5响应式架构,PC与移动端数据实时同步,适配多终端展示场景。查看源码
  • (自适应)变压器电子元器件电器配件pbootcms网站模板源码为电子元器件企业打造的响应式网站模板,基于PbootCMS内核开发,助力企业快速构建专业级线上展示平台。支持页面独立设置标题、关键词和描述,内置SEO友好结构。PHP程序确保运行安全稳定,有助于提升搜索引擎收录效果。查看源码
  • (PC+手机)帝国cms7.5漫画图片连载网站源码免费下载本模板基于帝国CMS7.5深度开发,为漫画阅读类网站打造。整体设计风格贴合漫画行业特性,界面布局充分考虑漫画作品的展示需求,支持多种漫画阅读模式。模板采用响应式设计,能够自动适配PC端和移动端设备,为读者提供流畅的阅读体验。查看源码
分享笔记 (共有 篇笔记)
验证码:

本栏推荐