欢迎来到HELLO素材网! 南京网站制作选择顺炫科技
丰富的DIV CSS模版、JS,jQuery特效免费提供下载
当前位置:主页 > 建站教程 > 网站制作教程 >

用PHP来完成网页的翻页解决

发表于2019-04-24 09:03| 次阅读| 来源网络整理| 作者session

摘要:用PHP来完成网页的翻页解决
用PHP来完成网页的翻页解决

    PHP实例源代码:PHP完成翻页解决的类
<?php 
class Page{ 
var $CountAll; //共有纪录数 
var $CountPage; //每页显示记载数 
var $Link; //显示 残缺的分页信息 
var $ForPage; //上一页 
var $NextPage; //下一页 
var $FirstPage; //第一页 
var $LastPage; //最后一页 
var $CurrPage; //第几页 
var $PageNum; //共有多少页 
var $Parameter; //参数 
var $LimitNum; //不是统计全副记载,而是显示局部记载,例如共有100条记载,然而只统计显示前50条 
function Page($sql, $num=30){ 
//初始化,统计记载数 
$this->CountPage = $num; 
global $mysql; 
$sql = base64_decode($sql); 
$result = $mysql->Query($sql); 
if (0 != $mysql->AffectedRows()){ 
$row = $mysql->FetchArray($result); 
$this->CountAll = $row[0]; 

else{ 
$this->CountAll = 0; 

//print "共有 $this->CountAll <br>"; 

function ListPage($sql, $page=0,$sql_all,$other){ 
//查询,定义变量,获取数据 
global $mysql; 
//print "sql sql<br>"; 
if (isset($this->LimitNum) && $this->CountAll > $this->LimitNum){ 
$this->CountAll = $this->LimitNum; 
}//更新总阅读记载数 
$sql_src = $sql; 
//if ($page > 0){ 
$sql = base64_decode($sql); 
$sql_all = base64_decode($sql_all); 
$sql_src = $sql; 
//} 
//echo $sql; 
if (($this->CountAll % $this->CountPage) == 0)//统计共有多少页 
$pagecount = (integer)($this->CountAll/$this->CountPage); 
else 
$pagecount = (integer)($this->CountAll/$this->CountPage)+1; 
$this->ageNum = $pagecount; 
if ($page > $this->ageNum)//假设页码超过页码总数则设为最大页码 
$page = $this->ageNum; 
if ($page <= 0)//假设页码小于等于零则将页码设置为1 
$page = 1; 
if ($this->CountAll == 0) 

$this->CurrPage = 0; 
}else{ 
$this->CurrPage = $page; 

$first_start = ($page-1)*$this->CountPage; 
$sql = $sql." limit ".$first_start.", ".$this->CountPage; 
//print "2sql<br>"; 
$result = $mysql->Query($sql); 
if (0 != $mysql->AffectedRows()){ 
$i = 0; 
while($row = $mysql->FetchArray($result)){ 
$array[$i] = $row; 
//print "name:".$array[$i][Name]."<br>"; 
$i++; 


$sql = base64_encode($sql_src); 
$sql_all = base64_encode($sql_all); 
if ($pagecount >1){ 
if($page == 1){ 
$nextpage = $page+1; 
$forpage = 1; 
$this->Link = "<button onClick="javascript:location.href=’?query_sql=$sql&query_page=$nextpage".$this->Parameter."&sql_all=".$sql_all."".$other."’" class="button_a" style="width:30;height:22";><img src="images/next.gif" align="absmiddle"> </button><button onClick="javascript:location.href=’?query_sql=$sql&query_page=$pagecount".$this->Parameter."&sql_all=".$sql_all."".$other."’" class="button_a" style="width:30;height:22";><img src="images/prev_end.gif" align="absmiddle"> </button>"; 
$this->NextPage = "<button onClick="javascript:location.href=’?query_sql=$sql&query_page=$nextpage".$this->Parameter."&sql_all=".$sql_all."".$other."’" class="button_a" style="width:30;height:22";><img src="images/next.gif" align="absmiddle"> </button>"; 
$this->LastPage = "<button onClick="javascript:location.href=’?query_sql=$sql&query_page=$pagecount".$this->Parameter."&sql_all=".$sql_all."".$other."’" class="button_a" style="width:30;height:22";><img src="images/prev_end.gif" align="absmiddle"> </button>"; 

else if(($page > 1)&&($page < $pagecount)) { 
$forpage = $page-1; 
$nextpage = $page+1; 
$this->Link = "<button onClick="javascript:location.href=’?query_sql=$sql&query_page=1".$this->Parameter."&sql_all=".$sql_all."".$other."’" class="button_a" style="width:30;height:22";><img src="images/prev_top.gif" align="absmiddle"> </button><button onClick="javascript:location.href=’?query_sql=$sql&query_page=$forpage".$this->Parameter."&sql_all=".$sql_all."".$other."’" class="button_a" style="width:30;height:22";><img src="images/prev.gif" align="absmiddle"> </button><button onClick="javascript:location.href=’?query_sql=$sql&query_page=$nextpage".$this->Parameter."&sql_all=".$sql_all."".$other."’" class="button_a" style="width:30;height:22";><img src="images/next.gif" align="absmiddle"> </button><button onClick="javascript:location.href=’?query_sql=$sql&query_page=$pagecount".$this->Parameter."&sql_all=".$sql_all."".$other."’" class="button_a" style="width:30;height:22";><img src="images/prev_end.gif" align="absmiddle"> </button>"; 
$this->ForPage = "<button onClick="javascript:location.href=’?query_sql=$sql&query_page=$forpage".$this->Parameter."&sql_all=".$sql_all."".$other."’" class="button_a" style="width:30;height:22";><img src="images/prev.gif" align="absmiddle"> </button>"; 
$this->NextPage = "<button onClick="javascript:location.href=’?query_sql=$sql&query_page=$nextpage".$this->Parameter."&sql_all=".$sql_all."".$other."’" class="button_a" style="width:30;height:22";><img src="images/next.gif" align="absmiddle"> </button>"; 
$this->FirstPage = "<button onClick="javascript:location.href=’?query_sql=$sql&query_page=1".$this->Parameter."&sql_all=".$sql_all."".$other."’" class="button_a" style="width:30;height:22";><img src="images/prev_top.gif" align="absmiddle"> </button>"; 
$this->LastPage = "<button onClick="javascript:location.href=’?query_sql=$sql&query_page=$pagecount".$this->Parameter."&sql_all=".$sql_all."".$other."’" class="button_a" style="width:30;height:22";><img src="images/prev_end.gif" align="absmiddle"> </button>"; 

else if ($page = $pagecount){ 
$forpage = $page-1; 
$nextpage = 1; 
$this->Link = "<button onClick="javascript:location.href=’?query_sql=$sql&query_page=1".$this->Parameter."&sql_all=".$sql_all."".$other."’" class="button_a" style="width:30;height:22";><img src="images/prev_top.gif" align="absmiddle"> </button><button onClick="javascript:location.href=’?query_sql=$sql&query_page=$forpage".$this->Parameter."&sql_all=".$sql_all."".$other."’" class="button_a" style="width:30;height:22";><img src="images/prev.gif" align="absmiddle"> </button>"; 
$this->FirstPage = "<button onClick="javascript:location.href=’?query_sql=$sql&query_page=1".$this->Parameter."&sql_all=".$sql_all."".$other."’" class="button_a" style="width:30;height:22";><img src="images/prev_top.gif" align="absmiddle"> </button>"; 
$this->ForPage = "<button onClick="javascript:location.href=’?query_sql=$sql&query_page=$forpage".$this->Parameter."&sql_all=".$sql_all."".$other."’" class="button_a" style="width:30;height:22";><img src="images/prev.gif" align="absmiddle"> </button>"; 


else{ 
$this->Link = ’ ’; 

return $array;//$array; 


/*************** 
利用例子 
include("class.config.php"); 
include("class.mysql.php"); 
include("class.page.php"); 
global $mysql; 
$config = new Config; 
$mysql = new TDatabase($config); 
$query_all = "select count(*) from user"; 
$page_object = new Page($query_all,20); 
//new Page(’统计记载个数语句’,每页记载个数) 
if(empty($query_page)) 
$query_sql = "select * from user"; 
//留意这里的变量名必须为 $query_sql $query_page ,由于下一页的衔接参数默以为 query_sql query_page 
$list = $page_object->ListPage($query_sql,$query_page); 
//ListPage(’没有limit的前一局部,系统主动依据补齐’,察看的页数) 
$page_object->Parameter = ’&action=view’; 
//这是传送的Url 所带的其它参数,假设有就修正变量 Parameter ,系统主动将她补在前面 
//显示数据 
for ($i=0;$i< $page_object->CountPage;$i++) 
print $list[$i][ID]."->".$list[$i][UserName]."<br>"; 
//前往的数据为二维哈西(关联)数组,一维为纪录的标识ID号,二维为哈西(关联)数组,取值标识建议采取用数据库中字段名的方法,例如list[0][UserName]。 
//显示其余相干数据 
echo $page_object->CountAll;//纪录总数 
echo $page_object->CountPage;//每页显示数据个数 
echo $page_object->Link;//显示残缺的分页信息 
echo $page_object->FirstPage;//第一页 
echo $page_object->NextPage;//下一页 
echo $page_object->ForPage;//上一页 
echo $page_object->LastPage;//最后一页 
echo $page_object->CurrPage;//第几页 
echo $page_object->PageNum;//共有多少页 
$mysql->DatabaseClose(); 
****************/