分页代码,请参考
<table width="90%"  border="0" cellpadding="1" cellspacing="1" bgcolor="#84B4DB" align="center">
  <tr align="center">
    <td width="5%" height="20" nowrap><span class="style1">次序</span></td>
    <td width="18%"><span class="style1">产品图片</span></td>
    <td width="24%"><span class="style1">产品名称</span></td>
    <td width="42%"><span class="style1">产品简介</span></td>
    <td width="11%"><span class="style1">操作</span></td>
  </tr>
 <?

//查询结果
if ($_GET['action']=="search" or $_POST['action']=="search")
  {
  $keyword=$_POST['keyword'];
  $pclass=$_POST['pclass'];
  $where="where 1=1 ";
  if ($pclass!=0) $where.=" and pClass1='$pclass'";
  if ($keyword!="") $where.=" and pName like '%$keyword%'";
  if ($yu!="nothing") $where.=" and pLanguage='$yu'";
      $query = "select * from tbl_product ".$where." order by is_order"; 
  }else{
  $pclass=$_GET['pclass'];
    if ($pclass!="")
  {
$query="select * from tbl_product where pClass1='$pclass' order by is_order";
  }else{
            $query="select * from tbl_product order by is_order";
      }
      }
$result=mysql_query($query) or die(mysql_error());
    //--取回数据
$count=0;
while($row=mysql_fetch_array($result)){
   $rs[$count]['id']=$row['id'];
   $rs[$count]['pName']=$row['pName'];
   $rs[$count]['pImgSmall']=$row['pImgSmall'];
   $rs[$count]['pSpec']=$row['pSpec'];
   $rs[$count]['pClass1']=$row['pClass1'];
   $rs[$count]['is_New']=$row['is_New'];
   $rs[$count]['is_order']=$row['is_order'];
   $rs[$count]['pPrice']=$row['pPrice'];
   $rs[$count]['pLanguage']=$row['pLanguage'];
   $count++;
  }
   //--获取$page值
   $page=$_GET['page'];
   if (@$page=="")
 {
 $page=$_POST['page'];
 if ($page=="")
   $page = 0;
 }
  //--计算页数
  $count = count($rs);
  $msgPerPage=10; //每页显示数
  $start = @$page*$msgPerPage;
  $end = $start+$msgPerPage;
  if ($end>$count)
  $end = $count;
  $totalpage = ceil($count/$msgPerPage);
  
     //输出记录 
 for ($i=$start;$i<$end;$i++)
   {
   //得到产品类别
   $class1=$rs[$i]['pClass1'];
   $res=mysql_query("select * from tbl_p_class where id='$class1'");
   $res1=mysql_fetch_array($res); 
   $cn_classname=$res1['cn_name']; 
   $en_classname=$res1['en_name']; 
  ?>
  <tr bgcolor="#FFFFFF">
    <td height="53" align="center"><?=$rs[$i]['is_order']?></td>
    <td align="center">
<?
if ($rs[$i]['pImgSmall']!="")
{
echo "<img src=upfile/".$rs[$i]['pImgSmall'].">";
}else{
    echo "暂无图片";
    }
?>
</td>
    <td bgcolor="#FFFFFF">
<?
echo " ".$rs[$i]['pName'];
if ($rs[$i]['is_New']=="1")
{
echo "<font color=red>(新)</font>";
}
echo "<p> 属于类别:".$cn_classname."&nbsp;".$en_classname;
if ($rs[$i]['pLanguage']=="1") $language="中文";
    if ($rs[$i]['pLanguage']=="2") $language="English";
if ($rs[$i]['pLanguage']=="0") $language="中文/English";
echo "<br> 发布版本:".$language;
?>
    <br>    
    </td>
    <td>
    <?
echo nl2br($rs[$i]['pSpec']);
echo "<br><br><font color=red>会员价格:";
if ($rs[$i]['pPrice']!="")
  { 
  echo $rs[$i]['pPrice'];
  }else{
  echo "暂无会员价格信息……";
  }
echo "</font>";
?>
    </td>
    <td align="center" nowrap><a href="modify_product.php?pid=<?=$rs[$i]['id']?>">修改</a> | 
<a href="javascript:del_member('<?=$rs[$i]['id']?>');">删除</a></td>
  </tr>
    <?
  } 
  if ($count==0)
  {
       echo "<tr><td bgcolor=#FFFFFF colspan=5 align=center height=60>暂无记录……</td></tr>";
  }
 ?>
</table>
<table width="80%"  border="0" cellpadding="1" align="center">
  <tr>
    <td align="right">
<?   
echo "&nbsp共有".$count."条";
echo " 页码:<font color=red>".($page+1)."</font>/".$totalpage."&nbsp;";
//开始制作导航条----------------------------------------------
if ($page == "0")
  {
   echo "<font color=#666666>首页  |  上一页</font>";
   }else {
   echo "<a href=javascript:viewPage(1);>首页</a>  |  <a href=javascript:viewPage(".$page.")> 上一页 </a>";
  }
if ($page == $totalpage-1)
 {
 echo "<font color=#666666>|  下一页  |  尾页  ";
  }else{
  echo "|  <a href=javascript:viewPage(".($page+2).")>下一页</a>  |  <a href=javascript:viewPage(".$totalpage.")>尾页</a>";
}
?>
转到第 
<input type='text' name='goto_page1' style='border: 1px solid rgb(0,0,0)' size=4 maxlength=4>
页 
<input style='height:20;WIDTH: 42px;' class='button' hidefocus type='button' value='跳转' name='cmd_goto' onClick='javascript:viewPage(document.all.goto_page1.value);'>
  </td>
  </tr>
</table>
<!---------开始嵌入代码(为跳转导航)--------->
<script language=javascript>
function viewPage(ipage){
  if (ipage<=0)  ipage=1;
  document.frm_page.page.value=ipage-1;
  document.frm_page.submit();        
}
</script>
<form action="<?echo $PHP_SELF;?>" method=post name="frm_page">
<input type="hidden" name="page" >
<input type="hidden" name="keyword" value="<?=$keyword?>">
<input type="hidden" name="pclass" value="<?=$pclass?>">
<input type="hidden" name="yu" value="<?=$yu?>">
<input type="hidden" name="action" value="search">
</form>

解决方案 »

  1.   

    以前写过一个函数:
    function selectPage($QueryStr,$page,$pageSize)
    {
    $R=@mssql_query($QueryStr);
    if ($R){
    $totalPage = ceil(mssql_num_rows($R)/$pageSize);
    if (!$page||$page<=0) $page = 1;
    if ($page>$totalPage) $page = $totalPage;
    $begin = ( $page-1 ) * $pageSize;
    $ReArr = array();
    $QCount=0;
    if($pageSize>0) @mssql_data_seek($R,$begin);
    while($ResultArr=@mssql_fetch_array($R)){
    if($pageSize>0)
    if($QCount>$pageSize-1) break;
    $ReArr[$QCount]=$ResultArr;
    $QCount++;
    }
    return $ReArr;
    }else{
    return false;
    }
    }
    返回数组,自己遍历一下就知道结构了
    这种方法的优点是只用一次查询,缺点是纪录数据量太大的话可能会超出php脚本内存限制还有一种经典的方法就是在sqlserver服务器上写一个存储过程,每次只取出当前页的纪录。基本思路是:
    带入参数page、pagesize,将符合条件的记录存入一个临时表,并且在这个临时表中加上一个自动增长的id。这样你可以利用符合条件的纪录总数,page,pageSize等获取当前页的id范围
      

  2.   

    可以用 adodb类库。支持n多数据库,分页这些都有例子
    http://php.weblogs.com/
      

  3.   

    因为mssql没有limit,所以不太好办,我以前也碰到过,后来用的分页的存储过程解决的,
    见http://search.csdn.net/Expert/topic/2589/2589154.xml?temp=.4191248如果太慢的话那不清楚了,关注!