• phpcms v9二次开发之模型类的应用(1)


    在《phpcms二次开发之模型类model.class.php》中讲到了模型类的建立方法,接下来我讲一下模型类的应用。
          前段时间我基于phpcms v9开发了一个足球网。足球网是由好几个模块组成的,如图: 
     

     

    我选其中一个比较简单的级别管理模块来说一下模型类的应用,为了明了我对其作了简化,但是功能保持完整,基本上包函了模型类的基本应用,如添加数据,修改数据、查询数据、删除数据。

    一、模型操作方法insert()--添加数据

    下面是级别模块的后台控制器level.php的代码片断:
    01 <?php
    02 defined('in_phpcms'or exit('no permission resources.');
    03 pc_base::load_app_class('admin''admin', 0);
    04 pc_base::load_app_func('global');
    05 class level extends admin {//继承后台管理类,所以就含有了权限控制
    06      private $level;
    07     public $username;
    08  //控制器的构造函数,加载初始化一些功能操作 ,如加载了level_model
    09    public function __construct() {
    10       
    11        $this->username = param::get_cookie('admin_username');
    12        $this->level = pc_base::load_model('level_model');//加载级别模型类level_model.class.php
    13           
    14        }
    15    //添加足球级别信息
    16    public function addlevel(){
    17       if(isset($_post['dosubmit'])){//判断如果提交表单则执行下面的插入语句
    18          
    19        if($this->level->insert($_post['football'])){
    1    showmessage(l('level_successful_added'),'?m=football&c=level&a=levellists');
    2 }
    1 }else{
    2   include $this->admin_tpl('level_add');//加载后台添加级别的模板
    3     }
    4 }
     insert()是插入数据的模型方法,$_post['football']是提交过来的级别字段,它是一个数组,如图:
     

     

    模板代码片断:

    01 <form action="?m=football&c=admin_sl&a=addlevel" method="post" name="myform" id="myform" >
    02 <table class="table_form" width="100%" cellspacing="0">
    03 <tbody>
    04 <tr>
    05 <th width="80"><strong><?php echo l('level_name')?>:</strong></th>
    06 <td><input type="text" name="football[level]" size="20" id="level" class="input-text"/></td>
    07 </tr>
    08 <tr>
    09 <th width="80"><strong></strong></th>
    10 <td><input type="submit" name="dosubmit" id="dosubmit" value=" <?php echo l('submit')?> ">&nbsp;<input type="reset" class="dialog" value=" <?php echo l('clear')?> "</td>
    11 </tr>
    12 </tbody>
    13 </table>
    14 </form>
    上面的addlevel()方法如果转化为mysql语句为:
    01 public function addlevel(){
    02     if(isset($_post['dosubmit'])){
    03     $sql "insert into `fb_level` (`level`) values ('".football[level]."')";
    04     $result=$this->level->query($sql);
    05     if($result){
    06     showmessage(l('level_successful_added'),'?m=football&c=level&a=levellists');
    07     }
    08   
    09     }else{
    10     include $this->admin_tpl('level_add');
    11    }

          通过两个方法的对比我们知道,使用phpcms v9封装的方法insert()插入数据时更为简单方便。当然上面插入的字段只有一个,如果插入十几二十个字段的话,依然是$this->level->insert($_post['football'])就搞定。如果用mysql语句的话,就显得繁琐不堪了。砍柴不误磨刀工,所以phpcms v9二次开发中,熟悉运用model.class.php数据库模型类的方法,能起到事半功倍的作用。(待续...)

  • 相关阅读:
    GODIAG GD801 ODOMETER里程改正指南车清单
    XTOOL A80 Pro(H6 Pro)使用提示+常见问题解答
    Vident IAUTO702 Pro 2012 Peugeot 308喷油器编码:是否支持?
    es创建模板
    docker 帮助信息
    聊聊白盒测试、黑盒测试
    Go 通过结构体指定字段进行排序
    Go语言 之结构体数组 赋值
    PHP中json_encode与json_decode
    golang sync WaitGroup
  • 原文地址:https://www.cnblogs.com/semcoding/p/3358799.html
Copyright © 2020-2023  润新知