如何用PHP进行分页!!! http://www.linuxbyte.net/view.php?skin=art&ID=3566这里有一篇相关文章也许对你有帮助 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 http://zwills.xxiyy.com/mikespook/softlist.asp?id=70看include文件夹里的inc_data.php文件~~~里面有个简单的分页的类~~ 先给你三个函数function page_break1($sqlstr)////////////分页的第一个处理程序,用来处理一系列环境变量. { global $per_page,$per_screen,$page,$screen,$id_from,$id_count,$page_count,$screen_count; if (!isset($page)) $page=0; if (!isset($screen)) $screen=0; if (!isset($per_page)) $per_page=12; if (!isset($per_screen)) $per_screen=8;$id_from=$screen*$per_screen*$per_page+$page*$per_page; //id_from $query=mysql_query($sqlstr); $id_count=mysql_num_rows($query); ////id count $temp=$id_count%$per_page; if ($temp==0) $page_count=(int)($id_count/$per_page); //page_count else $page_count=(int)($id_count/$per_page)+1; $temp=$page_count%$per_screen; if ($temp==0) $screen_count=(int)($page_count/$per_screen); //screen_count else $screen_count=(int)($page_count/$per_screen)+1; $str= $sqlstr." limit $id_from,$per_page"; return mysql_query($str); }function page_break2()////////////分页的第二个处理程序,用来输出超级联结{global $per_page,$per_screen,$page,$screen,$id_from,$id_count,$page_count,$screen_count; //display the navigator of the pageif ($screen>0) //display the previous screen { $temp=$screen-1; echo("[<a href='$PHP_SELF?screen=$temp'>前".$per_screen."页</a>]"); };if ($screen<$screen_count-1) { for ($i=0;$i<$per_screen;$i++) //display the page { if ($i==$page) { if ($i!=0) echo(" "); $temp=$i+1; echo("[".$temp."]"); continue; } else { if ($i!=0) echo(" "); $temp=$i+1; echo("[<a href='$PHP_SELF?screen=$screen&page=$i'>".$temp."</a>]"); continue; }; }; //end for //display the next screen $temp=$screen+1; echo("[<a href='$PHP_SELF?screen=".$temp."'>下".$per_screen."页</a>]"); }else { if ($screen>$screen_count-1) { // echo("<br><br><br>没有数据!<br><br>"); // echo "[<a href='javascript:window.history.go(-1)'>返回</a>]"; // exit; } else //screen=screen_count-1 { if ($screen_count==1) $temp_page=$page_count; else $temp_page=$page_count%$per_screen; for ($i=0;$i<$temp_page;$i++) { if ($i==$page) { if ($i!=0) echo(" "); $temp=$i+1; echo("[".$temp."]"); continue; } else { if ($i!=0) echo(" "); $temp=$i+1; echo("[<a href='$PHP_SELF?screen=$screen&page=$i'>".$temp."</a>]"); continue; }; }; }; }; }//end funcfunction page_break3($key)////////////分页的第二个处理程序,用来输出超级联结{global $per_page,$per_screen,$page,$screen,$id_from,$id_count,$page_count,$screen_count; //display the navigator of the pageif ($screen>0) //display the previous screen { $temp=$screen-1; echo("[<a href='$PHP_SELF?key=$key&screen=$temp'>前".$per_screen."页</a>]"); };if ($screen<$screen_count-1) { for ($i=0;$i<$per_screen;$i++) //display the page { if ($i==$page) { if ($i!=0) echo(" "); $temp=$i+1; echo("[".$temp."]"); continue; } else { if ($i!=0) echo(" "); $temp=$i+1; echo("[<a href='$PHP_SELF?key=$key&screen=$screen&page=$i'>".$temp."</a>]"); continue; }; }; //end for //display the next screen $temp=$screen+1; echo("[<a href='$PHP_SELF?key=$key&screen=".$temp."'>下".$per_screen."页</a>]"); }else { if ($screen>$screen_count-1) { // echo("<br><br><br>没有查到任何数据!<br><br>"); // echo "[<a href='javascript:window.history.go(-1)'>返回</a>]"; // exit; } else //screen=screen_count-1 { if ($screen_count==1) $temp_page=$page_count; else $temp_page=$page_count%$per_screen; for ($i=0;$i<$temp_page;$i++) { //echo "$i-$temp_page<br>"; if ($i==$page) { if ($i!=0) echo(" "); $temp=$i+1; echo("[".$temp."]"); continue; } else { if ($i!=0) echo(" "); $temp=$i+1; echo("[<a ref='$PHP_SELF?key=$key&screen=$screen&page=$i'>".$temp."</a>]"); continue; }; }; }; }; }//end func在使用的时候,假设表名为temp,字段有id,title,content,kind你可以这样用先设定每页显示的数目$per_page=10;$per_screen=10;//每页显示的链接数目$str="select id,title,content from temp";//查询语句$query=page_break1($str);page_break2()//显示链接while ($rs=mysql_fetch_array($query)){ echo $rs[title].'<br>';//显示内容}如果你的查询是这样$str="select id,title,content from temp where kind='$kind'";//查询语句$query=page_break1($str);page_break3("&kind=".$kind)//显示链接时用第三个函数,把条件加进去while ($rs=mysql_fetch_array($query)){ echo $rs[title].'<br>';//显示内容} <?php $row=20; $num=count($lastbar); $icount=$row; if($gopage) $page=$gopage-1; if(!$page) $page=0; if($num % $icount!=0) { $pagearr=split("\.",$num / $icount); $pages=$pagearr[0]+1; } else { $pages=$num / $icount; } if($page>($pages-1)) $page=$pages-1; $istart=$page*$row; $isend=($page+1)*$row; if($num<$isend) $totalall=$num; else $totalall=$isend; if($num<$row) $totalall=$num; for($jj=$istart;$jj<$totalall;$jj++) { //echo $lastbar[$jj][0]."<br>"; echo "<tr bgcolor=\"#F2F2F2\">"; echo " <td width=\"14%\" height=\"1\"> <div align=\"center\">".$lastbar[$jj][0]."</div></td>"; echo " <td width=\"24%\" height=\"1\"> <div align=\"center\">". $lastbar[$jj][1]."</div></td>"; echo " <td width=\"31%\" height=\"1\"> <div align=\"center\">".$lastbar[$jj][2]."</div></td>"; echo " <td height=\"9\"> <div align=\"center\">".$lastbar[$jj][3]."</div></td>"; echo " </tr>";?>你参考一下! floor和intval在这个用法是一样的吗? 回帖给钱了 一些PHP超简单问题 ...嘿嘿~ 跪求了啊!!! 关于录入单引号问题,这次非解决这个问题不可,50分送上 Header跳转时,如何修改Referer 怎么收不到数据! 在局域网内如何用MAIL()函数收发邮件?局域网内有自己的邮件服务器!请高手指教! 奇怪的错误请大虾指点! 为什么图片不能显示 郁闷郁闷,散分散分 上传图片时如何自动生成缩略图?
function page_break1($sqlstr)/////
///////分页的第一个处理程序,用来处理一系列环境变量.
{
global $per_page,$per_screen,$page,$screen,$id_from,$id_count,$page_count,$screen_count;
if (!isset($page)) $page=0;
if (!isset($screen)) $screen=0;
if (!isset($per_page)) $per_page=12;
if (!isset($per_screen)) $per_screen=8;
$id_from=$screen*$per_screen*$per_page+$page*$per_page; //id_from
$query=mysql_query($sqlstr);
$id_count=mysql_num_rows($query); ////id count
$temp=$id_count%$per_page;
if ($temp==0)
$page_count=(int)($id_count/$per_page); //page_count
else
$page_count=(int)($id_count/$per_page)+1;
$temp=$page_count%$per_screen;
if ($temp==0)
$screen_count=(int)($page_count/$per_screen); //screen_count
else
$screen_count=(int)($page_count/$per_screen)+1;
$str= $sqlstr." limit $id_from,$per_page";
return mysql_query($str);
}function page_break2()////////////分页的第二个处理程序,用来输出超级联结
{
global $per_page,$per_screen,$page,$screen,$id_from,$id_count,$page_count,$screen_count;
//display the navigator of the page
if ($screen>0) //display the previous screen
{
$temp=$screen-1;
echo("[<a href='$PHP_SELF?screen=$temp'>前".$per_screen."页</a>]");
};
if ($screen<$screen_count-1)
{
for ($i=0;$i<$per_screen;$i++) //display the page
{
if ($i==$page)
{
if ($i!=0)
echo(" ");
$temp=$i+1;
echo("[".$temp."]");
continue;
}
else
{
if ($i!=0)
echo(" ");
$temp=$i+1;
echo("[<a href='$PHP_SELF?screen=$screen&page=$i'>".$temp."</a>]");
continue;
};
}; //end for
//display the next screen
$temp=$screen+1;
echo("[<a href='$PHP_SELF?screen=".$temp."'>下".$per_screen."页</a>]");
}
else
{
if ($screen>$screen_count-1)
{
// echo("<br><br><br>没有数据!<br><br>");
// echo "[<a href='javascript:window.history.go(-1)'>返回</a>]";
// exit;
}
else //screen=screen_count-1
{
if ($screen_count==1)
$temp_page=$page_count;
else
$temp_page=$page_count%$per_screen;
for ($i=0;$i<$temp_page;$i++)
{
if ($i==$page)
{
if ($i!=0)
echo(" ");
$temp=$i+1;
echo("[".$temp."]");
continue;
}
else
{
if ($i!=0)
echo(" ");
$temp=$i+1;
echo("[<a href='$PHP_SELF?screen=$screen&page=$i'>".$temp."</a>]");
continue;
};
};
};
};
}//end funcfunction page_break3($key)////////////分页的第二个处理程序,用来输出超级联结
{
global $per_page,$per_screen,$page,$screen,$id_from,$id_count,$page_count,$screen_count; //display the navigator of the pageif ($screen>0) //display the previous screen
{
$temp=$screen-1;
echo("[<a href='$PHP_SELF?key=$key&screen=$temp'>前".$per_screen."页</a>]");
};
if ($screen<$screen_count-1)
{
for ($i=0;$i<$per_screen;$i++) //display the page
{
if ($i==$page)
{
if ($i!=0)
echo(" ");
$temp=$i+1;
echo("[".$temp."]");
continue;
}
else
{
if ($i!=0)
echo(" ");
$temp=$i+1;
echo("[<a href='$PHP_SELF?key=$key&screen=$screen&page=$i'>".$temp."</a>]");
continue;
};
}; //end for
//display the next screen
$temp=$screen+1;
echo("[<a href='$PHP_SELF?key=$key&screen=".$temp."'>下".$per_screen."页</a>]");
}
else
{
if ($screen>$screen_count-1)
{
// echo("<br><br><br>没有查到任何数据!<br><br>");
// echo "[<a href='javascript:window.history.go(-1)'>返回</a>]";
// exit;
}
else //screen=screen_count-1
{
if ($screen_count==1)
$temp_page=$page_count;
else
$temp_page=$page_count%$per_screen;
for ($i=0;$i<$temp_page;$i++)
{
//echo "$i-$temp_page<br>";
if ($i==$page)
{
if ($i!=0)
echo(" ");
$temp=$i+1;
echo("[".$temp."]");
continue;
}
else
{
if ($i!=0)
echo(" ");
$temp=$i+1;
echo("[<a ref='$PHP_SELF?key=$key&screen=$screen&page=$i'>".$temp."</a>]");
continue;
};
};
};
};
}//end func在使用的时候,假设表名为temp,字段有id,title,content,kind
你可以这样用
先设定每页显示的数目
$per_page=10;
$per_screen=10;//每页显示的链接数目
$str="select id,title,content from temp";//查询语句
$query=page_break1($str);
page_break2()//显示链接
while ($rs=mysql_fetch_array($query))
{
echo $rs[title].'<br>';//显示内容
}
如果你的查询是这样
$str="select id,title,content from temp where kind='$kind'";//查询语句
$query=page_break1($str);
page_break3("&kind=".$kind)//显示链接时用第三个函数,把条件加进去
while ($rs=mysql_fetch_array($query))
{
echo $rs[title].'<br>';//显示内容
}
$row=20;
$num=count($lastbar);
$icount=$row;
if($gopage)
$page=$gopage-1;
if(!$page)
$page=0;
if($num % $icount!=0)
{
$pagearr=split("\.",$num / $icount);
$pages=$pagearr[0]+1;
}
else
{
$pages=$num / $icount;
}
if($page>($pages-1))
$page=$pages-1;
$istart=$page*$row;
$isend=($page+1)*$row;
if($num<$isend)
$totalall=$num;
else
$totalall=$isend;
if($num<$row)
$totalall=$num;
for($jj=$istart;$jj<$totalall;$jj++)
{
//echo $lastbar[$jj][0]."<br>";
echo "<tr bgcolor=\"#F2F2F2\">";
echo " <td width=\"14%\" height=\"1\"> <div align=\"center\">".$lastbar[$jj][0]."</div></td>";
echo " <td width=\"24%\" height=\"1\"> <div align=\"center\">". $lastbar[$jj][1]."</div></td>";
echo " <td width=\"31%\" height=\"1\"> <div align=\"center\">".$lastbar[$jj][2]."</div></td>";
echo " <td height=\"9\"> <div align=\"center\">".$lastbar[$jj][3]."</div></td>";
echo " </tr>";
?>你参考一下!