足球比赛-2
2018-10-26 05:25:35来源:博客园 阅读 ()
优化PHP代码,将数据库基本操作封装起来。
1、MySQLDB.class.php类代码如下:
<?php //类名习惯上推荐使用与文件名相似的名字 //定义一个mysql连接类,该类可以连接mysql数据库 //并实现其单例模式 //该类的功能还能够完成如下的mysql基本操作 //执行普通的增删改非返回结果集的语句 //执行SELECT语句并返回3种类型的数据 //多行结果(二维数组),单行结果(一维数组) //单行单列(单个数据) class MySQLDB{ public $host; public $port; public $username; public $password; public $charset; public $dbname; //连接结果(资源类型) private static $link; //数据库连接结果(资源类型) private $resourc; //获取类的实例 public static function getInstance($config){ if(!isset(self::$link)){ self::$link=new self($config); } return self::$link; } //构造函数:禁止new private function __construct($config){ //初始化数据 $this->host=isset($config['host'])?$config['host']:'localhost'; $this->port=isset($config['port'])?$config['port']:'3306'; //echo '主机名:'.$this->host;(测试使用) $this->username=isset($config['username'])?$config['username']:'root'; $this->password=isset($config['password'])?$config['password']:''; $this->charset=isset($config['charset'])?$config['charset']:'utf8'; $this->dbname=isset($config['dbname'])?$config['dbname']:''; //连接数据库 $this->connect(); //设置连接编码 $this->setCharset($this->charset); //选定数据库 $this->selectDb($this->dbname); } //连接数据库 public function connect(){ $this->resourc=mysql_connect("$this->host:$this->port","$this->username","$this->password") or die("连接数据库失败!"); } //设置连接编码 public function setCharset($charset){ mysql_set_charset($charset,$this->resourc); } //选定数据库 public function selectDb($dbname){ mysql_select_db($dbname,$this->resourc); } //功能:执行最基本的sql语句,成功返回执行结果,否则直接结束 public function query($sql){ if(!$result=mysql_query($sql,$this->resourc)){ echo "<br/>执行失败。"; echo "<br/>失败的sql语句为:".$sql; echo "<br/>出错信息为:".mysql_error(); echo "<br/>出错行号为:".mysql_errno(); die(); } return $result; } //功能:执行select语句,返回二维数组 //参数:$sql字符串类型 select语句 public function getAll($sql){ $result=$this->query($sql); $arr=array(); //空数组 while($rec=mysql_fetch_assoc($result)){ $arr[]=$rec; //这样就形成二维数组 } return $arr; } } ?>
2、前台代码
<?php //比赛列表 header("Content-type:text/html;charset=utf-8"); //通过数据操作,将比赛列表需要的数据处理 //初始化MySQL $config=array( 'host'=>'127.0.0.1', 'port'=>'3306', 'username'=>'root', 'password'=>'123', 'charset'=>'utf8', 'dbname'=>'db_match' ); require "./MySQLDB.class.php"; $dao=MySQLDB::getInstance($config); //dao,Database ACCESS Object 数据库操作对象(dao层) //echo gettype($dao); //获取比赛列表数据,从前面把sql语句拷贝过来 $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` m join team t1 on m.t1_id =t1.t_id join team t2 on m.t2_id =t2.t_id"; //$sql="select * from player`"; //var_dump($dao); $match_list=$dao->getAll($sql); //获取多行比赛结果,类型为数组 //print_r($match_list); ?> <!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 };?> </table> </body> </html>
3、浏览器显示效果
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- PHP写UltraEdit插件脚本实现方法 2020-03-29
- php 带逗号千位符数字的处理方法 2020-03-28
- PHP三元运算符的结合性介绍 2020-03-28
- PHP静态延迟绑定和普通静态效率的对比 2020-03-28
- 基于php流程控制语句和循环控制语句 2020-03-28
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash