请都一下数据分页问题
<?php
function writeNavigation($p_rs,$p_pageSize,$p_pageIndex,$p_totleRs,$p_strURL){
$pageCount=(int)ceil($p_totleRS/$p_pageSize);
$recordHead=1;
if($p_pageIndex>1){
$recordHead=$p_pageSize*($p_pageIndex-1)+1;
}
if($p_pageIndex>=$pageCount){
$recordLast=$p_totleRs;
}else{
$recordLast=$p_pageSize*$p_pageIndex;
}
$result="";
$result=$result."<table width=\"600\"><tr><td colspan=\"3\">";
$result=$result."第".$recordHead."-".$recordLast."条,共".$p_totleRs."条,每页显示".$p_pageSize."条</td></tr>";
$prevPage=$p_pageIndex-1;
$nextPage=$p_pageIndex+1;
if(strpos($p_strURL,"?")==false){
$p_strURL=$p_strURL."?";
}else{
$p_strURL=$p_strURL."&";
}
$firstPage="<a href=\"".$p_strURL."page=1\">[首页]</a> ";
$lastPage="<a href=\"".$p_strURL."page=".$pageCount."\">[尾页]</a>";
if($p_pageIndex>1){
$prevPage="<a href=\"".$p_strURL."page=".$prevPage."\">[上页]</a> ";
}
if($p_pageIndex<$pageCount){
$prevPage="<a href=\"".$p_strURL."page=".$nextPage."\">[下页]</a> ";
}
if($p_pageIndex==$pageCount){
$nextPage="[下页] ";
$lastPage="[尾页]";
}
if($p_pageIndex<=1){
$prevPage="[上页] ";
$firstPage="[首页] ";
}
$result=$result."<tr align=\"right\"><form name=\"form\" method=\"post\" action=\"".$p_strURL."\"><td align=\"left\">";
$result=$result."共".$pageCount."页 "."目前第".$p_pageIndex."页</td><td>";
$result=$result." 到第<input type=\"text\" name=\"page\" size=\"3\" style=\"height:16px; margin-bottom:2px;\" /> 页 <input type=\"submit\" value=\"GO\" style=\"height:18px; margin-bottom1px;\" />";
$result=$result."</td><td>".$firstPage.$prevPage.$nextPage.$lastPage."</td></form></tr></table>";
return $result;
}
function writePagedRS($p_rs,$p_pageSize,$p_pageIndex){
$result="";
$result=$result."<table><tr bgcolor=\"#637E94\">";
$row=$p_rs->fetch(PDO::FETCH_ASSOC);
if(empty($row)){
break;
}
$key=array_keys($row);
$columnSize=count($key);
for($j=0;$j<$columnSize;$j++){
$result=$result."<th width=\"150\">".$key[$j]."</th>";
}
$result=$result."</tr>";
$id=0;
/*$row=$p_rs->fetch(PDO::FETCH_NUM,PDO::FETCH_ORI_REL,($p_pageIndex-1)*$p_pageSize-1);*/
while($id<$p_pageSize){
/*$row=$p_rs->fetch(PDO::FETCH_NUM,PDO::FETCH_ORI_REL,1);*/
if(empty($row)){
break;
}
$id++;
if(($id%2)==0){
$result=$result."<tr bgcolor=\"#E3EAEF\">";
}else{
$result=$result."<tr bgcolor=\"#ffffff\">";
}
for($j=0;$j<$columnSize;$j++){
$result=$result."<td>".$row[$key[$j]]."</td>";
}
$result=$result."</tr>";
$row=$p_rs->fetch(PDO::FETCH_ASSOC);
}
$result=$result."</table>";
return $result;
}
?>
<?php
$rs_start=0;
$rs_end=0;
$pageSize=3;
$strURL="page.php";
try{
$dbh=new PDO("mysql:host=localhost;port=3306;dbname=go","root","123");
$dbh->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);
$dbh->exec("SET CHARACTER SET gbk");
$sth=$dbh->prepare("select c_id,classification,f_id from classification limit ?,?");
$sth->bindParam(1,$rs_start,PDO::PARAM_INT);
$sth->bindParam(2,$rs_end,PDO::PARAM_INT);
}catch(PDOException $err){
echo("出错,请重试或者联系管理员1!");
try{
$dbh=NULL;
}catch(PDOException $err){
echo("出错,请重试或者联系管理员2!");
}
die();
}
$flag=false;
try{
$pageIndex=1;
try{
if($pageIndex=(int)$_REQUEST["page"]<=0){
$pageIndex=1;
}
}catch(Exception $err){
echo "pageIndex值错了~";
$pageIndex=1;
}
$rs_start=($pageIndex-1)*$pageSize;
$rs_end=$pageSize;
$flag=$sth->execute();
if(!$flag){
echo("没有记录!");
}else{
$totleRS=7;
$pageCount=(int)ceil($totleRS/$pageSize);
if($pageIndex==1||$pageIndex<1){
$pageIndex=1;
}else if($pageIndex>$pageCount){
$pageIndex=$pageCount;
}
echo(writePagedRS($sth,$pageSize,$pageIndex));
echo(writeNavigation($sth,$pageSize,$pageIndex,$totleRS,$strURL));
}
}catch(exception $err){
//echo("出错,请重试或者联系管理员3!");
echo("测试".$err->getMessage());
}
?>
<?php
try{
$dbh=NULL;
}catch(PDOException $err){
echo("出错,请重试或者联系管理员4!");
}
?>
不知道为什么,它只显示第一页,不知道错在哪里了,