<?php
/*
* Created on 2013-7-30
*
* To change the template for this generated file go to
* Window - Preferences - PHPeclipse - PHP - Code Templates
*/ $page = $_get[page];
if(!function_exists(pageft)){
function pageft($totle,$displaypg=20,$url=''){
//定义几个全局变量:
//$page:当前页码;
//$firstcount:(数据库教程)查询的起始项;
//$pagenav:页面导航条代码,函数内部并没有将它输出;
//$_server:读取本页url"$_server["request_uri"]"所必须。
global $page,$firstcount,$pagenav,$_server;
$globals["displaypg"]=$displaypg;
if(!$page) $page=1;
//如果$url使用默认,即空值,则赋值为本页url:
if(!$url){ $url=$_server["request_uri"];}//url分析:$parse_url=parse_url($url);
$url_query=$parse_url["query"]; //单独取出url的查询字串
if($url_query){
$url_query=preg_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="显示第 <b>".($totle?($firstcount+1):0)."</b>-<b>".min($firstcount+$displaypg,$totle)."</b> 条记录,共 $totle 条记录";
//如果只有一页则跳出函数:
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 页";
}
}
include("conn.php");$result=mysql_query("SELECT * FROM `test`");
$total=mysql_num_rows($result);
//调用pageft(),每页显示10条信息(使用默认的20时,可以省略此参数),使用本页URL(默认,所以省略掉)。
pageft($total,3);
echo $pagenav;$result="SELECT * FROM `test` limit $firstcount,$displaypg";
echo $result; $query=mysql_query($result);
while($row=mysql_fetch_array($query)){ echo "<hr><b>".$row[name]." | ".$row[sex]; }
?>
PHP分页MySQL
/*
* Created on 2013-7-30
*
* To change the template for this generated file go to
* Window - Preferences - PHPeclipse - PHP - Code Templates
*/ $page = $_get[page];
if(!function_exists(pageft)){
function pageft($totle,$displaypg=20,$url=''){
//定义几个全局变量:
//$page:当前页码;
//$firstcount:(数据库教程)查询的起始项;
//$pagenav:页面导航条代码,函数内部并没有将它输出;
//$_server:读取本页url"$_server["request_uri"]"所必须。
global $page,$firstcount,$pagenav,$_server;
$globals["displaypg"]=$displaypg;
if(!$page) $page=1;
//如果$url使用默认,即空值,则赋值为本页url:
if(!$url){ $url=$_server["request_uri"];}//url分析:$parse_url=parse_url($url);
$url_query=$parse_url["query"]; //单独取出url的查询字串
if($url_query){
$url_query=preg_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="显示第 <b>".($totle?($firstcount+1):0)."</b>-<b>".min($firstcount+$displaypg,$totle)."</b> 条记录,共 $totle 条记录";
//如果只有一页则跳出函数:
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 页";
}
}
include("conn.php");$result=mysql_query("SELECT * FROM `test`");
$total=mysql_num_rows($result);
//调用pageft(),每页显示10条信息(使用默认的20时,可以省略此参数),使用本页URL(默认,所以省略掉)。
pageft($total,3);
echo $pagenav;$result="SELECT * FROM `test` limit $firstcount,$displaypg";
echo $result; $query=mysql_query($result);
while($row=mysql_fetch_array($query)){ echo "<hr><b>".$row[name]." | ".$row[sex]; }
?>
PHP分页MySQL
echo mysql_error(); 能看到什么
这个是没问题的
说明sql语句没问题啊
这里有问题,分页长度值没有加载进来
应该设为全局变量,在你的function 定义之前就声明。
对于这个displaypg 变量我定义成了全局变量 把其置于function之前,好像也没用。我觉得这个代码有两个问题,一个是分页长度值没有加载进来,二是sql语句没有执行成功,我是刚接触php不久,求大神们详细指导。
______3q!
本意是将每页行数保存下来供后续使用
但是你没有注意到,php 的变量名是区分大小写的
$GLOBALS["displaypg"]=$displaypg;
才是你需要的还有一处
$page = $_get[page];
应为
$page = $_GET[page];
否则也不会跳页