草写一个,仅供参考//通用分页显示
function show($arr, $url, $pagesize = 30) {//$pagesize为每页显示数,自定义
$num = count($arr);
if ($num > 0) {
$pagecode = floor($_REQUEST['pagecode']);
if (!$pagecode || $pagecode <= 1) $pagecode = 1;
$totalpages = ceil($num / $pagesize);
for ($i = (($pagecode - 1) * $pagesize); $i < ($pagecode * $pagesize); $i++) {
echo $arr[$i];
if ($i == ($num - 1)) { //到最后一条记录跳出循环
break;
}
}
for ($code = 1; $code <= $totalpages; $code++) {
if ($code == $pagecode) {
$page_to .= "<span style=\"color:red\" title=\"当前第".$code."页\">".$code."</span>";
} else {
$page_to .= "<a href=\"".$url."&pagecode=".$code."\" title=\"转到第".$code."页\">".$code."</a>";
}
}
echo "
<div class=\"pagecode\">页码:".$page_to." 每页显示:".$pagesize."条 总计:".$num."条</div>";
} else {
echo "数据库无记录";
}
}
function show($arr, $url, $pagesize = 30) {//$pagesize为每页显示数,自定义
$num = count($arr);
if ($num > 0) {
$pagecode = floor($_REQUEST['pagecode']);
if (!$pagecode || $pagecode <= 1) $pagecode = 1;
$totalpages = ceil($num / $pagesize);
for ($i = (($pagecode - 1) * $pagesize); $i < ($pagecode * $pagesize); $i++) {
echo $arr[$i];
if ($i == ($num - 1)) { //到最后一条记录跳出循环
break;
}
}
for ($code = 1; $code <= $totalpages; $code++) {
if ($code == $pagecode) {
$page_to .= "<span style=\"color:red\" title=\"当前第".$code."页\">".$code."</span>";
} else {
$page_to .= "<a href=\"".$url."&pagecode=".$code."\" title=\"转到第".$code."页\">".$code."</a>";
}
}
echo "
<div class=\"pagecode\">页码:".$page_to." 每页显示:".$pagesize."条 总计:".$num."条</div>";
} else {
echo "数据库无记录";
}
}
<?php
include("opendata.php");
$sql="select id,submit from lives_ask where type='1' order by id desc ";
$result=mysql_query($sql,$conn);
$arr=mysql_fetch_array($result);
$url="try.php";
show($arr,$url,$pagesize=4);
?>
可是只能显示下面的结果:
“10[生活常识][图文]冬季双唇干燥急1
页码:1 每页显示:4条 总计:4条”
我感觉里面有点东西没有输出来??
你能不能帮再看看那里有错了!
好象是“$page_to”有点问题!可是我改改了!还是不行哦!
麻烦你再看看哦!
谢谢了!
show(file("一个文件"), "?");
{
$recordcount=$total;
$page=$_GET["page"];
if(($page<0)||(!isset($page))) $page=1;
$pages=ceil($recordcount/$page_size);
if ($page>$pages) $page=$pages;
$first=1;
$prev= ($page<=1) ? 1 : ($page-1);
$next= ($page>=$pages) ? $pages : ($page+1);
$last=$pages;
if ($query=="")
$type="";
else
$type = "&".$query;
$style = ($style=="") ? "" : " class='".$style."'";
$feystr="记录总数: <font color='#FF6500'>".$recordcount."</font> 页数: <font color='#FF6500'>".$page."/".$pages."</font> ";
switch($model){
case 1:
if (($page==1)&&($pages>1)){
$feystr.="第一页 ";
$feystr.="<a href='".$filename."?page=".$next."$type'$style>下一页</a> ";
$feystr.="<a href='".$filename."?page=".$last."$type'$style>最后一页</a> ";
}
if(($page>1)&&($page<$pages)){
$feystr.="<a href='".$filename."?page=".$first."$type'$style>第一页</a> ";
$feystr.="<a href='".$filename."?page=".$prev."$type'$style>上一页</a> ";
$feystr.="<a href='".$filename."?page=".$next."$type'$style>下一页</a> ";
$feystr.="<a href='".$filename."?page=".$last."$type'$style>最后一页</a> ";
}
if(($page==$pages)&&($pages!=1)){
$feystr.="<a href='".$filename."?page=".$first."$type'$style>第一页</a> ";
$feystr.="<a href='".$filename."?page=".$prev."$type'$style>上一页</a> ";
$feystr.="最后一页 ";
}
$feystr.=" 选择页码: <select name='page_now' id='page_now' onChange=\"javascript:window.open(page_now.value,'_self')\">";
for($i=1;$i<=$pages;$i++){
if($_GET["page"]==$i){
$feystr.="<option value='".$filename."?page=".$i."$type' selected>".$i."</option>";
} else {
$feystr.="<option value='".$filename."?page=".$i."$type'>".$i."</option>";
}
}
$feystr.="</selected>";
break;
case 2:
for($j=1;$j<=$pages;$j++){
if ($page==$j){
$feystr.="$i";
} else {
$feystr.=" <a href='".$filename."?page=".$j."$type'$style>[".$j."]</a> ";
}
}
break;
case 3:
$feystr .= "<a href='".$filename."?page=".$prev.$type."'$style><img src='images/prev.gif' border='0'></a>";
for($i=1;$i<=$pages;$i++)
{
if ($i==$page)
{
$feystr .= "<b> ".$i." </b>";
}
else
{
$feystr .= "<a href='".$filename."?page=".$i.$type."'$style> ".$i." </a>";
}
}
$feystr .= "<a href='".$filename."?page=".$next.$type."'$style><img src='images/next.gif' border='0'></a>";
break;
case 4:
$feystr="第".$page."页/共".$pages."页 | 总".$recordcount."条记录 | ";
if(($page==1)&&($pages>1)){
$feystr.="首页 | 上页 | ";
$feystr.="<a href='".$filename."?page=".$next."$type'$style>下页</a> | ";
$feystr.="<a href='".$filename."?page=".$last."$type'$style>尾页</a> | ";
}
if(($page>1)&&($page<$pages)){
$feystr.="<a href='".$filename."?page=".$first."$type'$style>首页</a> | ";
$feystr.="<a href='".$filename."?page=".$prev."$type'$style>上页</a> | ";
$feystr.="<a href='".$filename."?page=".$next."$type'$style>下页</a> | ";
$feystr.="<a href='".$filename."?page=".$last."$type'$style>尾页</a> | ";
}
if(($page==$pages)&&($pages!=1)){
$feystr.="<a href='".$filename."?page=".$first."$type'$style>首页</a> | ";
$feystr.="<a href='".$filename."?page=".$prev."$type'$style>上页</a> | ";
$feystr.="下页 | 尾页 | ";
}
$feystr.="<input name='pageTo' type='text' size='5' id='pageTo'> ";
$feystr.="<input type='submit' name='Submit' value='GoTo' onClick=\"javascript:location.href='".$filename."?page='+pageTo.value+'$type';\">";
break;
case 5:
$feystr="共找到".$recordcount."条记录 每页显示".$page_size."条记录 共".$pages."页 ";
if($page>1)
$feystr.="<a href='".$filename."?page=1".$type."'$style>首页</a> <a href='".$filename."?page=".($page-1).$type."'$style>前页</a> ";
else
$feystr.="首页 前页 ";
$offset = floor($page/10);
$page_left = $offset==0 ? 1 : $offset*10;
$page_right= $pages<($page_left+10) ? $pages : $page_left+10;
if($page_right==11) $page_right = $page_right-1;
for($i=$page_left;$i<=$page_right;$i++)
{
if($i==$page)
$feystr.="<font color=red>$i</font> ";
else
$feystr.="<a href='".$filename."?page=".$i.$type."'$style>$i</a> ";
}
if($page<$pages)
$feystr.="<a href='".$filename."?page=".($page+1).$type."'$style>后页</a> <a href='".$filename."?page=".$pages.$type."'$style>尾页</a>";
else
$feystr.="后页 尾页";
break;
}
return $feystr;
}
function show_page_01( $_classify = "" , $_where = "", $_page_id = 1, $_page_row = PAGE_MAX_ROW){
$max = $this->page_count_01($_classify, $_where, $_page_row);
if($_page_id < 6){
$_open = 1;
if($max < 10) $_close = $max;
else $_close = 10;
}
elseif($_page_id > ($max - 5)){
$_close = $max;
if( $max > 10 ) $_open = $max - 10;
else $_open = 1;
}else{
$_open = $_page_id - 4;
$_close = $_page_id + 5;
}
$s = "";
if($_page_id - 10 > 10){
$p1 = $_page_id - 10;
$s .= "<a href='#' onclick='searchid($p1);'><<</a>" ;
}
elseif($_page_id > 1){
$s .= "<a href='#' onclick='searchid(1);'><<</a>" ;
}
if($_page_id > 1){
$p2 = $_page_id - 1;
$s .= " <a href='#' onclick='searchid($p2);'><</a>" ;
}
$s .= " <a href='#' onclick='searchid($_open);' >$_open</a>";
for ($i = $_open + 1; $i <= $_close; $i++){
$s .= "|<a href='#' onclick='searchid($i);' >"
. $i . "</a>";
//xajax_schoolslist(xxfw_id, document.getElementById('schools').value);
}
if( ($_page_id + 1) < $max ){
$p3 = $_page_id + 1;
$s .= " <a href='#' onclick='searchid($p3);'>></a>" ;
}
if( ($_page_id + 10) < $max ){
$p4 = $_page_id + 10;
$s .= " <a href='#' onclick='searchid($p4);'>>></a>" ;
}else{
$s .= " <a href='#' onclick='searchid($max);'>>></a>" ;
}
$s = "第 $_page_id 页 共 $max 页 本页 $_page_row 条 " . $s;
return $s;
}//end.show_page_01;
* 显示分页链接的函数
* @author kapil
* @example echo make_page_link(100,3,'x=1&y=2&z=3'); * @param int $num
* 一共有多少条数据
* @param int $per_page
* 每页显示多少数据
* @param string $condition
* URL上的参数链接
* @param $link_style
* 链接字符的样式
* @return 返回HTML代码
*/
function make_page_link($num,$per_page,$condition = '', $link_style = 0)
{
switch ($link_style)
{
case 0:
$left_bracket = ''; // 左括号
$right_bracket = ''; // 右括号
$pre = '上一页'; //
$next = '下一页';
$first = '首页'; // 首页
$last = '末页'; // 尾页
break;
case 1:
$left_bracket = '';
$right_bracket = '';
$pre = '<img src="images/common/pre.jpg" border="0">';
$next = '<img src="images/common/next.jpg" border="0">';
$first = '|<';
$last = '>|';
break;
}
$_GET['page'] != '' ? $page = $_GET['page'] : $page = 1;
$url = $_SERVER['PHP_SELF'];
$s = '';
$n = ceil($num / $per_page);
if($condition != '')
{
$condition .= '&';
}
$page == 1 ? $s .= $left_bracket . $first . $right_bracket . ' ' : $s .= $left_bracket . ' <a href="' . $url . '?' . $condition . 'page=1">' . $first . '</a> ' . $right_bracket . ' ';
if ($page * $per_page > $per_page)
{
$s .= $left_bracket . ' <a href="' . $url . '?' . $condition . 'page=' . ($page - 1) . '">' . $pre .'</a> ' . $right_bracket;
}
else
{
$s .= $left_bracket . $pre . $right_bracket;
}
$page >= 5 ? $t = $page - 4 : $t = 1;
if($page >= 5)
{
($page * $per_page + 4 * $per_page) < $num ? $p = $page + 5 : $p = $n + 1;
}
else
{
$p = 10;
} if ($n >= 10)
{
$x = $p - 9;
$y = $p;
}
else if($n == 1)
{
$x = 0;
$y = 2;
}
else
{
$x = 1;
$y = $n + 1;
}
for($i = $x, $page * $per_page <= $num; $i < $y; $i++)
{
if($page == $i || ($page == '' && $o == ''))
{
$s .= ' ' . $left_bracket . ' <b>' . $page . '</b> ' . $right_bracket;
$o = '1';
}
else
{
if($num > $per_page)
{
$s .= ' ' . $left_bracket . '<a href="' . $url . '?' . $condition . 'page=' . ($i) . '">' . ($i) . '</a> ' . $right_bracket;
}
}
}
if($page * $per_page < $num)
{
$s .= ' ' . $left_bracket .' <a href="' . $url . '?' . $condition . 'page=' . ($page + 1) . '">' . $next . '</a> ' . $right_bracket;
}
else
{
$s .= ' ' . $left_bracket . $next . $right_bracket;
}
if($n != 0)
{
$page == $n ? $s .= ' ' . $left_bracket . $last . $right_bracket : $s .= ' ' . $left_bracket . ' <a href="' . $url . '?' . $condition . 'page=' . $n . '">' . $last . '</a> ' . $right_bracket;
}
else
{
$s .= ' ' . $left_bracket . $last . $right_bracket;
}
return $s;
}LZ试一下我这个吧,不用数据库也能分页
//分頁程序
//$pageshows 每頁顯示的條數
//$total 總紀錄數
//$url_link 連接網址
//$page 當前頁數
//-------------------------------------------------------------------------------
function fun_page($pageshows,$total,$url_link,$page){
$pages=intval($total/$pageshows);
if (($total%$pageshows)!=0) $pages++;
if ($pages==0) $pages=1;
if ($page=="") $page=1;
$offset=$pageshows*($page-1);
$v=$total-$offset-$pageshows;
$x = 0;
if ($v<0) $v=0;
$tempnum = 1;$temppage1 = "";
$first=1;
$prev=$page-1;
$next=$page+1;
$last=$pages;
if ($page>1)
{
$temppage1 .= "<a href='".$url_link."&page=".$first."' >首頁</a> ";
$temppage1 .= "<a href='".$url_link."&page=".$prev."' >上一頁</a> ";
}$temppage1 .= " 共 <font color='#990000'>".$pages."</font> 頁 ";
$l = 1;
$temppages = $pages;
$temppage = $page;
$temppage1 .= "第";if ($temppage != 1) $temppage1 .= " <a href='".$url_link."&page=1' class=".$class.">1</a> ";
while ($temppages > 0)
{
if ($l < 11 and $temppage <= $pages) {
if ($temppage == $page){$class="pages";}else{$class="page";}
$temppage1 .= " <a href='".$url_link."&page=".$temppage."' class=".$class.">".$temppage."</a> ";
$temppage++;
$l++;
}
$temppages--;
}
if ($temppage <= $pages) $temppage1 .= ".. <a href='".$url_link."&page=".$pages."' class=".$class.">".$pages."</a> ";
$temppage1 .= "頁 ";if ($page<$pages)
{
$temppage1 .= "<a href='".$url_link."&page=".$next."' >下一頁</a> ";
$temppage1 .= "<a href='".$url_link."&page=".$last."' >尾頁</a> ";
}
$qq1 = ($page - 1) * $pageshows + 1;
$num = 1;
$endoffset = $offset + $pageshows;
if ($endoffset > $total) $endoffset = $total;$page_array = array($temppage1,$offset,$endoffset);
return $page_array;
}調用方法
$pageshows = 16;
$page_function = fun_page($pageshows,$num,$link,$_GET['page']);
for ($i=$page_function[1]; $i<$page_function[2];$i++) {}
/*
需求,建立一个test数据库,在里边建一个test表,里面就
只要id字段,输入一下数据就可以啦。。
由于水平有限,难免出错。。
*/
$conn = mysql_connect("localhost","root","123");$maxnum = 5; //每页显示记录条数mysql_select_db("test", $conn);
$query1 = "SELECT COUNT(*) AS totalrows FROM userinfo ";
$result1 = mysql_query($query1, $conn) or die(mysql_error());
$row1 = mysql_fetch_array($result1);
$totalRows1 = $row1['totalrows']; //数据集数据总条数
$totalpages = ceil($totalRows1/$maxnum);//计算可分页总数,ceil()为上舍函数if(!isset($_GET['page']) || !intval($_GET['page']) || $_GET['page'] > $totalpages) $page = 1; //对3种出错进行默认处理
//在url参数page不存在时,page不为10进制数时,page大于可分页数时,默认为1
else $page = $_GET['page'];$startnum = ($page - 1)*$maxnum; //从数据集第$startnum条开始取,注意数据集是从0开始的$query = "SELECT * FROM userinfo LIMIT $startnum,$maxnum";//选择出符合要求的数据 从$startnum条数据开始,选出$maxnum行
$result = mysql_query($query, $conn) or die(mysql_error());
$row = mysql_fetch_array($result);?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>分页示例</title>
<script language="JavaScript" type="text/JavaScript">
<!--
function MM_jumpMenu(targ,selObj,restore){ //v3.0
eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
if (restore) selObj.selectedIndex=0;
}
//-->
</script>
<style type="text/css">
a{text-decoration:none;}
a:hover{text-decoration:underline}
table{font-size:12px;}
.tb{background-color:#73BB95}
.tr{background-color:#FFFFFF}
</style>
</head><body>
<table width="30%" border="0" align="center" cellpadding="0" cellspacing="1" class="tb">
<tr>
<td height="24" align="center">分页示例</td>
</tr>
<?php if($totalRows1) {//记录集不为空显示
do {
?>
<tr class="tr">
<td height="24"><div align="center"><?php echo $row['id'];?></div></td>
<td height="24"><div align="center"><?php echo $row['username'];?></div></td>
</tr>
<?php }while($row = mysql_fetch_array($result));?>
</table><table width="95%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr><form name="form1">
<td height="27"><div align="center">
<?php
echo "共计<font color=\"#ff0000\">$totalRows1</font>条记录";
echo "<font color=\"#ff0000\">".$page."</font>"."/".$totalpages."页 ";
//实现 << < 1 2 3 4 5> >> 分页链接
$pre = $page - 1;//上一页
$next = $page + 1;//下一页
$maxpages = 4;//处理分页时 << < 1 2 3 4 > >>显示4页
$pagepre = 1;//如果当前页面是4,还要显示前$pagepre页,如<< < 3 /4/ 5 6 > >> 把第3页显示出来
if($page != 1) { echo "<a href='".$_SERVER['PHP_SELF']."'><<</a> ";
echo "<a href='".$_SERVER['PHP_SELF'].'?page='.$pre."'><</a> ";}
if($maxpages>=$totalpages) //如果总记录不足以显示4页
{$pgstart = 1;$pgend = $totalpages;}//就不所以的页面打印处理
elseif(($page-$pagepre-1+$maxpages)>$totalpages)//就好像总页数是6,当前是5,则要把之前的3 4 显示出来,而不仅仅是4
{$pgstart = $totalpages - $maxpages + 1;$pgend = $totalpages;}
else{
$pgstart=(($page<=$pagepre)?1:($page-$pagepre));//当前页面是1时,只会是1 2 3 4 > >>而不会是 0 1 2 3 > >>
$pgend=(($pgstart==1)?$maxpages:($pgstart+$maxpages-1));
}
for($pg=$pgstart;$pg<=$pgend;$pg++){ //跳转菜单
if($pg == $page) echo "<a href=\"".$_SERVER['PHP_SELF']."?page=$pg\"><font color=\"#ff0000\">$pg</font></a> ";
else echo "<a href=\"".$_SERVER['PHP_SELF']."?page=$pg\">$pg</a> ";
}
if($page != $totalpages)
{echo "<a href='".$_SERVER['PHP_SELF'].'?page='.$next."'>></a> ";
echo "<a href='".$_SERVER['PHP_SELF'].'?page='.$totalpages."'>>></a> ";}
?>
<select name="menu1" onChange="MM_jumpMenu('parent',this,0)">
<option value="">选择</option>
<?php for($pg1=1;$pg1<=$totalpages;$pg1++) {
echo "<option value=\"".$_SERVER['PHP_SELF']."?page=$pg1\">".$pg1."</option>";
}?>
</select>
</td></form>
</tr>
</table>
<?php } else {//记录集为空时显示?>
<tr class="tr">
<td height="24"><div align="center">没有任何记录</div></td>
</tr>
</table>
<?php }?>
</body>
</html>
<?php
mysql_free_result($result1);
mysql_free_result($result);
?>