资源(1)----封装类(连接数据库mysql,分页)

时间:2022-01-12 00:43:58

一,链接MYSQL数据库

 class DBDA{
public $host="localhost";//服务器地址
public $uid="root";//数据的用户名
public $pwd="123";//密码 //函数,执行sql语句返回相应的结果
public function Query($sql,$type=1,$db="testa"){ //造连接对象
$conn=new MySQLi($this->host,$this->uid,$this->pwd,$db);
//判断是否连接成功
!mysqli_connect_error() or die("连接失败!");
//执行sql语句
$result=$conn->query($sql); //判断SQL语句类型
if($type==1){
//如果是查询语句返回结果集
return $result->fetch_all();
}else{
//如果是其他语句返回true 或 false
return $result;
}
}
}

使用方法:

  主要的函数就是:.Query()----三个参数: 1. $sql----sql语句,必选;2.type----1代表查询,0代表非查询 可选3.数据库,默认testa,可选;

  先实例对象-->sql语句-->调用函数

二.分页

 <?php
/**
file: page.class.php
完美分页类 Page
*/
class Page {
private $total; //数据表中总记录数
private $listRows; //每页显示行数
private $limit; //SQL语句使用limit从句,限制获取记录个数
private $uri; //自动获取url的请求地址
private $pageNum; //总页数
private $page; //当前页
private $config = array(
'head' => "条记录",
'prev' => "上一页",
'next' => "下一页",
'first'=> "首页",
'last' => "末页"
);
//在分页信息中显示内容,可以自己通过set()方法设置
private $listNum = 10; //默认分页列表显示的个数 /**
构造方法,可以设置分页类的属性
@param int $total 计算分页的总记录数
@param int $listRows 可选的,设置每页需要显示的记录数,默认为25条
@param mixed $query 可选的,为向目标页面传递参数,可以是数组,也可以是查询字符串格式
@param bool $ord 可选的,默认值为true, 页面从第一页开始显示,false则为最后一页
*/
public function __construct($total, $listRows=25, $query="", $ord=true){
$this->total = $total;
$this->listRows = $listRows;
$this->uri = $this->getUri($query);
$this->pageNum = ceil($this->total / $this->listRows);
/*以下判断用来设置当前面*/
if(!empty($_GET["page"])) {
$page = $_GET["page"];
}else{
if($ord)
$page = 1;
else
$page = $this->pageNum;
} if($total > 0) {
if(preg_match('/\D/', $page) ){
$this->page = 1;
}else{
$this->page = $page;
}
}else{
$this->page = 0;
} $this->limit = "LIMIT ".$this->setLimit();
} /**
用于设置显示分页的信息,可以进行连贯操作
@param string $param 是成员属性数组config的下标
@param string $value 用于设置config下标对应的元素值
@return object 返回本对象自己$this, 用于连惯操作
*/
function set($param, $value){
if(array_key_exists($param, $this->config)){
$this->config[$param] = $value;
}
return $this;
} /* 不是直接去调用,通过该方法,可以使用在对象外部直接获取私有成员属性limit和page的值 */
function __get($args){
if($args == "limit" || $args == "page")
return $this->$args;
else
return null;
} /**
按指定的格式输出分页
@param int 0-7的数字分别作为参数,用于自定义输出分页结构和调整结构的顺序,默认输出全部结构
@return string 分页信息内容
*/
function fpage(){
$arr = func_get_args(); $html[0] = "<span class='p1'>&nbsp;共<b> {$this->total} </b>{$this->config["head"]}&nbsp;</span>";
$html[1] = "&nbsp;本页 <b>".$this->disnum()."</b> 条&nbsp;";
$html[2] = "&nbsp;本页从 <b>{$this->start()}-{$this->end()}</b> 条&nbsp;";
$html[3] = "&nbsp;<b>{$this->page}/{$this->pageNum}</b>页&nbsp;";
$html[4] = $this->firstprev();
$html[5] = $this->pageList();
$html[6] = $this->nextlast();
$html[7] = $this->goPage(); $fpage = '<div style="font:12px \'\5B8B\4F53\',san-serif;">';
if(count($arr) < 1)
$arr = array(0,1,2,3,4,5,6,7); for($i = 0; $i < count($arr); $i++)
$fpage .= $html[$arr[$i]]; $fpage .= '</div>';
return $fpage;
} /* 在对象内部使用的私有方法,*/
private function setLimit(){
if($this->page > 0)
return ($this->page-1)*$this->listRows.", {$this->listRows}";
else
return 0;
} /* 在对象内部使用的私有方法,用于自动获取访问的当前URL */
private function getUri($query){
$request_uri = $_SERVER["REQUEST_URI"];
$url = strstr($request_uri,'?') ? $request_uri : $request_uri.'?'; if(is_array($query))
$url .= http_build_query($query);
else if($query != "")
$url .= "&".trim($query, "?&"); $arr = parse_url($url); if(isset($arr["query"])){
parse_str($arr["query"], $arrs);
unset($arrs["page"]);
$url = $arr["path"].'?'.http_build_query($arrs);
} if(strstr($url, '?')) {
if(substr($url, -1)!='?')
$url = $url.'&';
}else{
$url = $url.'?';
} return $url;
} /* 在对象内部使用的私有方法,用于获取当前页开始的记录数 */
private function start(){
if($this->total == 0)
return 0;
else
return ($this->page-1) * $this->listRows+1;
} /* 在对象内部使用的私有方法,用于获取当前页结束的记录数 */
private function end(){
return min($this->page * $this->listRows, $this->total);
} /* 在对象内部使用的私有方法,用于获取上一页和首页的操作信息 */
private function firstprev(){
if($this->page > 1) {
$str = "&nbsp;<a href='{$this->uri}page=1'>{$this->config["first"]}</a>&nbsp;";
$str .= "<a href='{$this->uri}page=".($this->page-1)."'>{$this->config["prev"]}</a>&nbsp;";
return $str;
} } /* 在对象内部使用的私有方法,用于获取页数列表信息 */
private function pageList(){
$linkPage = "&nbsp;<b>"; $inum = floor($this->listNum/2);
/*当前页前面的列表 */
for($i = $inum; $i >= 1; $i--){
$page = $this->page-$i; if($page >= 1)
$linkPage .= "<a href='{$this->uri}page={$page}'>{$page}</a>&nbsp;";
}
/*当前页的信息 */
if($this->pageNum > 1)
$linkPage .= "<span style='padding:1px 2px;background:#BBB;color:white'>{$this->page}</span>&nbsp;"; /*当前页后面的列表 */
for($i=1; $i <= $inum; $i++){
$page = $this->page+$i;
if($page <= $this->pageNum)
$linkPage .= "<a href='{$this->uri}page={$page}'>{$page}</a>&nbsp;";
else
break;
}
$linkPage .= '</b>';
return $linkPage;
} /* 在对象内部使用的私有方法,获取下一页和尾页的操作信息 */
private function nextlast(){
if($this->page != $this->pageNum) {
$str = "&nbsp;<a href='{$this->uri}page=".($this->page+1)."'>{$this->config["next"]}</a>&nbsp;";
$str .= "&nbsp;<a href='{$this->uri}page=".($this->pageNum)."'>{$this->config["last"]}</a>&nbsp;";
return $str;
}
} /* 在对象内部使用的私有方法,用于显示和处理表单跳转页面 */
private function goPage(){
if($this->pageNum > 1) {
return '&nbsp;<input style="width:20px;height:17px !important;height:18px;border:1px solid #CCCCCC;" type="text" onkeydown="javascript:if(event.keyCode==13){var page=(this.value>'.$this->pageNum.')?'.$this->pageNum.':this.value;location=\''.$this->uri.'page=\'+page+\'\'}" value="'.$this->page.'"><input style="cursor:pointer;width:25px;height:18px;border:1px solid #CCCCCC;" type="button" value="GO" onclick="javascript:var page=(this.previousSibling.value>'.$this->pageNum.')?'.$this->pageNum.':this.previousSibling.value;location=\''.$this->uri.'page=\'+page+\'\'">&nbsp;';
}
} /* 在对象内部使用的私有方法,用于获取本页显示的记录条数 */
private function disnum(){
if($this->total > 0){
return $this->end()-$this->start()+1;
}else{
return 0;
}
}
}

使用方法:

  主要函数:__construct(数据的个数,[显示的条数,默认25,[$query="",[$sord= true | false true代表从第一页开始,false在最后一页开始]]]);

      fpage();返回下面的html代码(字符串的形式),可以输入(1-7)来指定显示的顺序

  步骤:实例化对象-->取limit语句-->调用fpage()-->设置跳页下脚

效果:

  aaarticlea/png;base64,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" alt="" />