这是第二个文件pageft.php<?php
if(!function_exists(pageft)){
function pageft($totle,$displaypg=10,$url=''){global $page,$firstcount,$pagenav,$_SERVER;
$GLOBALS["displaypg"]=$displaypg;if(!$page) $page=1;
if(!$url){ $url=$_SERVER["REQUEST_URI"];}//URL分析:
$parse_url=parse_url($url);
$url_query=$parse_url["query"]; //单独取出URL的查询字串
if($url_query){
//因为URL中可能包含了页码信息,我们要把它去掉,以便加入新的页码信息。
$url_query=ereg_replace("(^|&)page=$page","",$url_query);//将处理后的URL的查询字串替换原来的URL的查询字串:
$url=str_replace($parse_url["query"],$url_query,$url);//在URL后加page查询信息,但待赋值:
if($url_query) $url.="&page"; else $url.="page";
}else {
$url.="?page";
}//页码计算:
$lastpg=ceil($totle/$displaypg); //最后页,也是总页数
$page=min($lastpg,$page);
$prepg=$page-1; //上一页
$nextpg=($page==$lastpg ? 0 : $page+1); //下一页
$firstcount=($page-1)*$displaypg;//开始分页导航条代码:
$pagenav="显示第 ".($totle?($firstcount+1):0)."-".min($firstcount+$displaypg,$totle)." 条记录,共 $totle 条记录<br><br>";//如果只有一页则跳出函数:
if($lastpg<=1) return false;
$pagenav.=" <a href='$url=1'>首页</a> ";
if($prepg) $pagenav.=" <a href='$url=$prepg'>前页</a> "; else $pagenav.=" 前页 ";
if($nextpg) $pagenav.=" <a href='$url=$nextpg'>后页</a> "; else $pagenav.=" 后页 ";
$pagenav.=" <a href='$url=$lastpg'>尾页</a> ";//下拉跳转列表,循环列出所有页码:
$pagenav.=" 到第 <select name='topage' size='1' onchange='window.location=\"$url=\"+this.value'>\n";
for($i=1;$i<=$lastpg;$i++){
if($i==$page) $pagenav.="<option value='$i' selected>$i</option>\n";
else $pagenav.="<option value='$i'>$i</option>\n";
}
$pagenav.="</select> 页,共 $lastpg 页";
}
}
?>
if(!function_exists(pageft)){
function pageft($totle,$displaypg=10,$url=''){global $page,$firstcount,$pagenav,$_SERVER;
$GLOBALS["displaypg"]=$displaypg;if(!$page) $page=1;
if(!$url){ $url=$_SERVER["REQUEST_URI"];}//URL分析:
$parse_url=parse_url($url);
$url_query=$parse_url["query"]; //单独取出URL的查询字串
if($url_query){
//因为URL中可能包含了页码信息,我们要把它去掉,以便加入新的页码信息。
$url_query=ereg_replace("(^|&)page=$page","",$url_query);//将处理后的URL的查询字串替换原来的URL的查询字串:
$url=str_replace($parse_url["query"],$url_query,$url);//在URL后加page查询信息,但待赋值:
if($url_query) $url.="&page"; else $url.="page";
}else {
$url.="?page";
}//页码计算:
$lastpg=ceil($totle/$displaypg); //最后页,也是总页数
$page=min($lastpg,$page);
$prepg=$page-1; //上一页
$nextpg=($page==$lastpg ? 0 : $page+1); //下一页
$firstcount=($page-1)*$displaypg;//开始分页导航条代码:
$pagenav="显示第 ".($totle?($firstcount+1):0)."-".min($firstcount+$displaypg,$totle)." 条记录,共 $totle 条记录<br><br>";//如果只有一页则跳出函数:
if($lastpg<=1) return false;
$pagenav.=" <a href='$url=1'>首页</a> ";
if($prepg) $pagenav.=" <a href='$url=$prepg'>前页</a> "; else $pagenav.=" 前页 ";
if($nextpg) $pagenav.=" <a href='$url=$nextpg'>后页</a> "; else $pagenav.=" 后页 ";
$pagenav.=" <a href='$url=$lastpg'>尾页</a> ";//下拉跳转列表,循环列出所有页码:
$pagenav.=" 到第 <select name='topage' size='1' onchange='window.location=\"$url=\"+this.value'>\n";
for($i=1;$i<=$lastpg;$i++){
if($i==$page) $pagenav.="<option value='$i' selected>$i</option>\n";
else $pagenav.="<option value='$i'>$i</option>\n";
}
$pagenav.="</select> 页,共 $lastpg 页";
}
}
?>
1般通过sql查询语句进入第2页。limit后面的控制.
我的,家了格式控制哈,不过还有错误!
<style>
.pagetd1{background-color:#CCCCCC;text-align:left;}
.pagetd2{background-color:#999999;text-align:left;}
.pagetdtime{font-size:12px;}
.pagefont{text-align:right}
</style>
<?php
/*
require("conn.php");
require("page.class.php");
$test=new SetPage;
$test->PageItem("select * from news_info");
$test->PageNav();
$test->PageButton();
$test->PageSelect();
$test->ContarlOut(5);
*/
class SetPage{
var $Nonce_Page;//当前页数;
var $Totle_Page;//总页数;
var $Def_RegNum=8;//默认记录数;
var $Reg_Num;//记录数;
var $Reg_Totle;//记录总数;
var $Sql_Reg;//数据库查询语句;function PageItem($sql=""){
$this->SetPageReg($this->Def_RegNum);
if(!$sql==""){
list($sql,$content)=spliti(limit,$sql);
if($content!=""){
$content=trim($content);
//echo $content;
list(,$i)=spliti(",",$content);
if($i!=null){
$this->Reg_Num=$i;
//echo $i;
}
}else{echo "error";}
$this->Sql_Reg=trim($sql);
list(,$name)=spliti(from,$sql);
$table=trim($name);
$query=mysql_query("select * from ".$table.";");
$this->Reg_Totle=mysql_num_rows($query);
$this->Totle_Page=ceil($this->Reg_Totle/$this->Reg_Num);
$this->Nonce_Page=$_REQUEST['page'];
if($this->Nonce_Page<=0){$this->Nonce_Page=1;}
if($this->Totle_Page<$this->Nonce_Page){$this->Nonce_Page=$this->Totle_Page;}
}else{
echo "请输入查询语句";
}
}
//设置显示记录数;
function SetPageReg($Num){
$this->Reg_Num=$Num;
}
//分页按钮;
function PageButton(){
if($this->Nonce_Page>1){
echo $this->PageHref(1,首页);
echo "|";
echo $this->PageHref($this->Nonce_Page-1,前页);
echo "|";
}
else{
echo "首页|前页";
}
if($this->Nonce_Page<$this->Totle_Page){
echo $this->PageHref($this->Nonce_Page+1,后页);
echo "|";
echo $this->PageHref($this->Totle_Page,尾页);
}else{
echo "后页|尾页";
}
}
//页面显示信息;
function PageNav(){
echo "当前页是第".$this->Nonce_Page."页,总共".$this->Totle_Page."页";
}
function PageSelect(){
echo "<select onChange='window.location=this.value'>";
for($i=1;$i<=$this->Totle_Page;$i++){
if($i==$this->Nonce_Page){
$sled="selected";
}else{
$sled="";
}
echo "<option value=".$this->PageUrl($i)." ".$sled.">".$i."</option>";
}
echo "</select>";
}function PageUrl($page){
$Self="http://".$_SERVER['SERVER_NAME'].$_SERVER['PHP_SELF'];
$QueryString=$_SERVER['QUERY_STRING'];
if($QueryString){
$PageNum=ereg_replace("page=[0-9]+","page=".$page."",$QueryString);$Link=$Self."?".$PageNum;
}
else{
$Link=$Self."?page=".$page;
}
return $Link;
}
function PageHref($page,$msg){
$href="<a href=".$this->PageUrl($page).">".$msg."</a>";
return $href;
}//使用说明,直接调用ContarlOut()函数,$SqlResult,接受的是SQL查询语句 ,$MaxChar为限制字符数量,$MaxRow为限制输出行数
//字符输出控制!
function ContarlOut($i){
$MaxChar=$i-3;
$Sql=$this->Sql_Reg.=" limit ".($this->Nonce_Page-1)*$this->Reg_Num.",".$this->Reg_Num."";
$result=mysql_query($Sql);
$MaxRow=$this->Reg_Num;
echo "<table>";
for($i=0;$i < $MaxRow;$i++){
echo "<tr>";
if($i%2==0){
echo "<td class=\"pagetd1\">";
}else{
echo "<td class=\"pagetd2\">";
}
if($row=mysql_fetch_array($result)){
echo '<a target="_blank" title="'.$row[news_from].'"
href="news_show.php?id='.$row[news_id].'"
style="text-decoration:none">'.$this->CharLimit($row[news_title],$MaxChar).'</a>';
echo '</td><td class=pagetdtime>['.substr($row[news_time],5,5).']</td></tr>';
}else{
echo '</td><td></td></tr>';
} }
echo "</table>";
}
function CharLimit($title,$max){
for($i=0;$i < $max;$i++){
$content.=substr($title,$i,1);
if(substr($title,$i,1)==''){
break;
}
}
if($i==$max){
if($i%2==0){$contenet.="..";}else{$content.="...";}
}else{
if($i%2==0){$content.=" ";}else{$content.=" ";}
}
for($j=$i;$j <= $max;$j++){
$content.=" ";
} return $content;
}}
?>
最主要的是块!用来显示不同页面的数据!
和数据库相关的东西都要改!
不过主要还是数据库查询select * from table limit 0,5;表示0开始,显示5条,然后用mysql_fetch_array()显示出来就行了!条下1页不就是select * from table limit 5,5;在显示出来不就是第2页了!然后你想办法控制一下改变的地方不就可以了!自己慢慢看,表急哈!不行就在网上在找点哈!越来越感觉我哪个太垃圾了!
mysql_num_rows()是用来查询有多少条记录的!
class Page
{
var $_currPage;
var $_totalNum;
var $_perPage = 20;
var $_returnUrl = "";
function Page($parm1,$parm2,$parm3,$parm4)
{
$this->_currPage = $parm1;
$this->_totalNum = $parm2;
if($parm3 < 1)
{
$parm3 = 20;
}
$this->_perPage = $parm3;
$this->_returnUrl = $parm4;
}
function Pageing()
{
//取得分页使用哪种符号
$s = "?";
if(strstr($this->_returnUrl,"?"))
{
$s = "&";
}
//获取总页数
if($this->_totalNum % $this->_perPage == 0)
{
$totalPage = $this->_totalNum / $this->_perPage;
}
else
{
$totalPage = floor($this->_totalNum / $this->_perPage)+1;
}
//限定页码的范围
if($this->_currPage>$totalPage)
{
$this->_currPage = $totalPage;
}
if($this->_currPage < 1)
{
$this->_currPage = 1;
}
$next = $this->_currPage + 1;
$pre = $this->_currPage - 1;
$str = "";
//只有一页
$str = $str."共".$this->_totalNum."条记录 每页".$this->_perPage."条 ";
$str = $str ."共".$totalPage."页 当前第<font color=red>".$this->_currPage."</font>页 ";
if($totalPage <= 1)
{
$str = $str. "首页 上一页 下一页 最后一页";
}
else
{
if($this->_currPage == 1)
{
$str = $str."首页 上一页 ";
$str = $str."<a href='".$this->_returnUrl.$s."page=".$next."'>下一页</a> ";
$str = $str."<a href='".$this->_returnUrl.$s."page=".$totalPage."'>最后一页</a>";
}
else
{
if($this->_currPage == $totalPage)
{
$str =$str. "<a href='".$this->_returnUrl.$s."page=1'>首页</a> ";
$str = $str."<a href='".$this->_returnUrl.$s.".page=".$pre."'>上一页</a> ";
$str = $str."下一页 最后一页";
}
else
{
$str = $str. "<a href='".$this->_returnUrl.$s."page=1'>首页</a> ";
$str = $str."<a href='".$this->_returnUrl.$s.".page=".$next."'>上一页</a> ";
$str = $str."<a href='".$this->_returnUrl.$s."page=".$pre."'>下一页</a> ";
$str = $str."<a href='".$this->_returnUrl.$s."page=".$totalPage."'>最后一页</a>";
}
}
}
echo $str;
}
}
?>