【物件导向】PHP 物件导向 简易分页实作

参考->原文
[铁人赛Day10]PHP简易分页实作

物件导向系列
PHP系列
【物件导向】PHP 物件导向 简易分页实作
javascript系列
【物件导向】javascript 物件导向概念 API (範例可玩)

物渐导向-基本概念

class 物件

    class db{} //db叫作物件

public 公开属性

class db{    public $host //$host叫作属性}function __construct() 建构式(【成立】物件时要【预先】执行的方法)

class db{
function __construct(){
$this->八云();

}function 八云(){    echo $string = "橙"    return $string;}function skill(){    echo $string = "化猫橙"    return $string;}

}

一般页面使用方法
new 成立物件

$chen = new db;// $变数 = db类别名称$chen->skill();// 印出 化猫橙

物渐导向就这样。大概吧...?

物件导向概念结束

说明专区

工作流程->资料库(帐号、密码、连结的资料库)

//资料库连线class db{    //类别内的变数    public $host = '127.0.0.1'; //架设的网域    public $username = 'daniel'; //资料库帐号    public $password = '123456'; //资料库密码    public $database = 'ch21'; //资料库    public $result; //公开属性,function {$this->$result//内存取方式 }}//建构式    function __construct(){        $this->sql_connect();        $this->sql_database();        $this->set_db_encode();    }//设定连线    function sql_connect(){        return @mysql_connect($this->host,$this->username,$this->password);    }//选择资料库    function sql_database(){        return @mysql_select_db($this->database);    }//选择资料库语系    function set_db_encode(){        return mysql_query("SET NAMES 'utf8'");    }//主要使用方法    function query($sql_string){        $result = mysql_query($sql_string); //$sql_string(自订的SQL语法),$result = 资料库的物件        $query = new db_query($result); //进行 资料库的物件 转array$result = $query->result(); //进行object转array        return $result;    }
//资料库物件转阵列class db_query{      private $result;    function __construct($result){        $this->result = $result;//DB查询->db_query->$result    }    function result(){        $query = array();        if($this->result != false){            while($row = mysql_fetch_object($this->result)){                $query[] = $row;            }            return $query;        }        return false;    }}
//页码类别class pages{public $page_out = false; //测试印出public $per = 10; //每页显示数量public $data_nums = 0; //总笔数public $page = 0; //现在页数public $pages = 0; //总页数    function __construct(){    }    function Page($sql_string){$sql = $sql_string; //自订的SQL$result = mysql_query($sql);//资料库物件$data_nums = mysql_num_rows($result); //统计总比数$per = $this->per; //每页显示项目数量$pages = ceil($data_nums/$per); //取得不小于值的下一个整数        /*如果没有输入 $_GET["page"] */if (!isset($_GET["page"])){$page=1;} else {$page = intval($_GET["page"] + 0);}$start = ($page-1)*$per; //每一页开始的资料序号                //Ex        //SELECT * FROM class WHERE 1 LIMIT 0,10        //LIMIT x,y        //x = 开始页        //y = 显示数量        $sql = $sql.' LIMIT '.$start.', '.$per;$result = mysql_query($sql) or die("Error");        //$This$this->data_nums = $data_nums;$this->page = $page;$this->pages = $pages;        $query = new db_query($result);$result = $query->result();        return $result;    }};$Pages = new pages;

其实【页码】就是在组合MYSQL字串而已...

说明专区结束

程式码複製区
下列为程式码完整部分...可直接複製使用...
採用于PHP物件导向,不影响你的程式码运作

<?php /*######DB.php######*/<?php //###时区修正date_default_timezone_set('Asia/Taipei');//资料库连线class db{    public $host = '127.0.0.1';    public $username = 'daniel';    public $password = '123456';    public $database = 'ch21';    public $result;    function __construct(){        $this->sql_connect();        $this->sql_database();        $this->set_db_encode();    }    function sql_connect(){        return @mysql_connect($this->host,$this->username,$this->password);    }    function sql_database(){        return @mysql_select_db($this->database);    }    function set_db_encode(){        return mysql_query("SET NAMES 'utf8'");    }    function query($sql_string){        $result = mysql_query($sql_string);        $query = new db_query($result);$result = $query->result();        return $result;    }}//资料库物件转阵列class db_query{      private $result;    function __construct($result){        $this->result = $result;//DB查询->db_query->$result    }    function result(){        $query = array();        if($this->result != false){            while($row = mysql_fetch_object($this->result)){                $query[] = $row;            }            return $query;        }        return false;    }}$DB = new db;//页码类别class pages{public $page_out = false; //测试印出public $per = 10; //每页显示数量public $data_nums = 0; //总笔数public $page = 0; //现在页数public $pages = 0; //总页数    function __construct(){    }    function Page($sql_string){$sql = $sql_string;$result = mysql_query($sql);$data_nums = mysql_num_rows($result); //统计总比数$per = $this->per; //每页显示项目数量$pages = ceil($data_nums/$per); //取得不小于值的下一个整数if (!isset($_GET["page"])){$page=1;} else {$page = intval($_GET["page"] + 0);}$start = ($page-1)*$per; //每一页开始的资料序号$sql = $sql.' LIMIT '.$start.', '.$per;$result = mysql_query($sql) or die("Error");//$This$this->data_nums = $data_nums;$this->page = $page;$this->pages = $pages;if(($this->page_out == true)){//分页页码echo '共 '.$data_nums.' 笔-在 '.$page.' 页-共 '.$pages.' 页';echo "<br /><a href=?page=1>首页</a> ";echo "第 ";for( $i=1 ; $i<=$pages ; $i++ ) {if ( $page-3 < $i && $i < $page+3 ) {echo "<a href=?page=".$i.">".$i."</a> ";}} echo " 页 <a href=?page=".$pages.">末页</a><br /><br />";}        $query = new db_query($result);$result = $query->result();        return $result;    }};$Pages = new pages;?><?php //###时区修正date_default_timezone_set('Asia/Taipei');//资料库连线class db{    public $host = '127.0.0.1';    public $username = 'daniel';    public $password = '123456';    public $database = 'ch21';    public $result;    function __construct(){        $this->sql_connect();        $this->sql_database();        $this->set_db_encode();    }    function sql_connect(){        return @mysql_connect($this->host,$this->username,$this->password);    }    function sql_database(){        return @mysql_select_db($this->database);    }    function set_db_encode(){        return mysql_query("SET NAMES 'utf8'");    }    function query($sql_string){        $result = mysql_query($sql_string);        $query = new db_query($result);$result = $query->result();        return $result;    }}//资料库物件转阵列class db_query{      private $result;    function __construct($result){        $this->result = $result;//DB查询->db_query->$result    }    function result(){        $query = array();        if($this->result != false){            while($row = mysql_fetch_object($this->result)){                $query[] = $row;            }            return $query;        }        return false;    }}$DB = new db;//页码类别class pages{public $page_out = false; //测试印出public $per = 10; //每页显示数量public $data_nums = 0; //总笔数public $page = 0; //现在页数public $pages = 0; //总页数    function __construct(){    }    function Page($sql_string){$sql = $sql_string;$result = mysql_query($sql);$data_nums = mysql_num_rows($result); //统计总比数$per = $this->per; //每页显示项目数量$pages = ceil($data_nums/$per); //取得不小于值的下一个整数if (!isset($_GET["page"])){$page=1;} else {$page = intval($_GET["page"] + 0);}$start = ($page-1)*$per; //每一页开始的资料序号$sql = $sql.' LIMIT '.$start.', '.$per;$result = mysql_query($sql) or die("Error");//$This$this->data_nums = $data_nums;$this->page = $page;$this->pages = $pages;if(($this->page_out == true)){//分页页码echo '共 '.$data_nums.' 笔-在 '.$page.' 页-共 '.$pages.' 页';echo "<br /><a href=?page=1>首页</a> ";echo "第 ";for( $i=1 ; $i<=$pages ; $i++ ) {if ( $page-3 < $i && $i < $page+3 ) {echo "<a href=?page=".$i.">".$i."</a> ";}} echo " 页 <a href=?page=".$pages.">末页</a><br /><br />";}        $query = new db_query($result);$result = $query->result();        return $result;    }};$Pages = new pages;?>
/*######index.php######*/<?php include("DB.php") ?> <?php //自己打SQL语法取法 $SQL = "SELECT * FROM class WHERE 1 LIMIT 0,10 ";$query = $DB->query($SQL);foreach($query as $key=>$row){echo $row->name.'<br/>';}echo "-------------------------------".'<br/>';//页码类别取法$SQL = "SELECT * FROM class WHERE 1";$Pages->page_out = true ;$query = $Pages->Page($SQL);foreach($query as $key=>$row){echo $row->name.'<br/>';} ?>
/*###### MYSQL资料库 ######*/idnamebirthdaymathenglishhistorytotaladdress_Laddress_R1李大华1997/3/79094922762陈小明1997/2/18288902603刘小珍1997/8/38987782544廖小敏1997/10/217580852405吴大龙1997/5/17637168202

关于作者: 网站小编

码农网专注IT技术教程资源分享平台,学习资源下载网站,58码农网包含计算机技术、网站程序源码下载、编程技术论坛、互联网资源下载等产品服务,提供原创、优质、完整内容的专业码农交流分享平台。

热门文章