• 20181010 MVC


    mvc{                                                                                                                          

    M:模型  用来操作表的

     

    V : 模版  用来显示页面

     

    C:控制器 调度 操作那个表产生数据 调用哪个模版显示数据

    }

    目录

    match_list_v.html  代码

    <!-- 利用HTML代码展示数据 -->
    <!DOCTYPE html>
    <html lang="en">
    <head>
    	<meta charset="UTF-8">
    	<title>比赛列表</title>
    </head>
    <body>
    
    <table>
    <tr>
    <th>球队一</th><th>比分</th><th>球队二</th><th>时间</th>
    </tr>
    <?php foreach($match_list as $row) : ?>
    	<tr>
    	<td><?php echo $row['t1_name'];?></td>
    	<td><?php echo $row['t1_score'];?>:<?php echo $row['t2_score'];?></td>
    	<td><?php echo $row['t2_name'];?></td>
    	<td><?php echo date('Y-m-d H:i', $row['m_time']);?></td>
    	</tr>
    <?php endForeach;?>
    </table>	
    </body>
    </html>
    

    match_list_c.php  代码

    <?php
    require "match_list_m.php";
    
    require "template/match_list_v.html";
    

    match_list_m.php  代码

    <?php
    
    include "mysql.class.php";
    
    $config=[
    	"host"=>"localhost",
    	"name"=>"root",
    	"pwd"=>"",
    	"DbName"=>"z_075mvc"
    ];
    $db= mysqlDb::getInstance($config);
    //获得比赛列表数据
    $sql = "select t1.t_name as t1_name, m.t1_score, m.t2_score, t2.t_name as t2_name, m.m_time from `match` as m left join `team` as t1 ON m.t1_id = t1.t_id  left join `team` as t2 ON m.t2_id=t2.t_id";
    $match_list = $db->getAssoc($sql);
    

     mysql.class.php 代码

    <?php
    class mysqlDb{
    	public $host; //服务器地址
    	public $post=3306; //端口
    	public $name; //用户名
    	public $pwd; //m密码
    	public $DbName; //数据库名称
    	public $charset;//默认编码
    	
    	public $link;//数据库连接对象
    	public $res; //资源   返回结果集
    	
    	//三私一公
    	private static $obj;//用来存newdb对象
    	//构造方法 私有的
    	private function __construct($config=array()){
    		/*初始化参数*/
    		$this->host = $config["host"] ? $config["host"] : "localhost";
    		$this->name = $config["name"] ? $config["name"] : "root";	
    		$this->pwd = $config["pwd"] ? $config["pwd"]  : "";
    		$this->DbName = $config["DbName"] ?  $config["DbName"] : "mysql";
    		$this->charset = $config["charset"] ?$config["charset"] : "utf8" ;
    		
    		/*连接数据库  设置字符集*/
    		$this->connectMysql();
    		$this->setCharSet();
    	}
    	//私有化clone方法
    	private  function __clone(){}
    	//提供公共的返回对象方法
    	static function getInstance($config=array()){
    		if(!isset(self::$obj)){
    			self::$obj=new self($config);
    		}
    		return self::$obj;
    	}
    	
    	
    	/*连接数据库*/
    	function connectMysql(){
    		$this->link = new MySQLi($this->host,$this->name,$this->pwd,$this->DbName);
    		!mysqli_connect_error() or die("连接数据库失败");
    	}
    	
    	/*设置字符集*/
    	function setCharSet(){
    		$this->link->query("set names ".$this->charset );
    	}
    	
    	/*执行sql语句的方法*/
    	function DbQuery($sql){
    		$this->res = $this->link->query($sql);
    		if(!$this->res){
    			echo ("<br />执行失败。");
    			echo "<br />失败的sql语句为:" . $sql;
    			echo "<br />出错信息为:" . mysqli_error($this->link);
    			echo "<br />错误代号为:" . mysqli_errno($this->link);
    			die;
    		}
    		return $this->res;
    	}
       //返回字符串
    	function getStr($sql){
    		$zhi = $this->DbQuery($sql);
    		//将结果集转为字符串
    		$arr = $zhi->fetch_all();
    		$brr = array();
    		foreach($arr as $v){
    			$brr[] = implode(",",$v);
    		}
    		return implode("^",$brr);
    	}
    
    	//返回json
    	function getJson($sql){
    		$zhi = $this->DbQuery($sql);
    		$brr = array();
    		while($row = $zhi->fetch_assoc()){
    			$brr[] = $row;
    		}
    		return json_encode($brr);
    	}
    	/*返回关联数组*/
    	function getAssoc($sql){
    		$zhi = $this->DbQuery($sql);
    		$brr = array();
    		while($row = $zhi->fetch_assoc()){
    			$brr[] = $row;
    		}
    		return $brr;
    	}
    	//返回索引数组
    	function getAttr($sql){
    		$zhi = $this->DbQuery($sql);
    		return $zhi->fetch_all();
    	}
    
    }
    

    效果图

  • 相关阅读:
    第十章:Android消息机制
    第九章:四大组件的工作过程
    第八章:理解Window和WindowManager
    第七章:Android动画深入分析
    第六章:Android的Drawable
    第五章:理解RemoteViews
    第四章:View的工作原理
    第三章:View的事件体系
    chr()返回值是当前整数对应的 ASCII 字符。
    遍历从左到右,打印子串在字符串中出现的次数
  • 原文地址:https://www.cnblogs.com/sp1234/p/9764345.html
Copyright © 2020-2023  润新知