<?php
/**
*mssql 数据库连接类
**/
class SQL{ var $server;
var $userName;
var $passWord;
var $dataBase; var $linkID = 0;
var $queryResult;
var $lastInsertID; var $ER; /**
*构造函数
**/
function  SQL($Server='',$UserName='',$PassWord='',$DataBase=''){
$this->server = $Server;
$this->userName = $UserName;
$this->passWord = $PassWord;
$this->dataBase = $DataBase;
}
/**
*数据库连接
**/
function db_connect(){
$this->linkID = mssql_connect($this->server,$this->userName,
                     $this->passWord);
if(!$this->linkID){
$this->ER = "db_connect($this->server,$this->userName,
                     $this->passWord) error";
return 0;
}
if (!mssql_select_db($this->dataBase,$this->linkID)) {
$this->ER = "mssql_select_db($this->dataBase,
                             $this->lastInsertID) error";
return 0;
}
return 1;
} /**public
*  function: Check the database, if exist then select
*  exist: return 1
*  not exist: return 0
*/
function selectDatabase(){
if(mssql_select_db($this->dataBase))
return 1;
else
return 0;
} /**
*数据操作
**/
function  query($Str){
if ($this->linkID == 0) {
$this->ER = "数据库还没有连接!!";
}
$this->queryResult = @mssql_query($Str,$this->linkID);
if (!$this->queryResult) {
$this->ER = "$Str.没有操作成功!!";
return 0;
}
return $this->queryResult;
}
/**
*数据获取
**/
function fetch_array($result=''){
if($result != "") $this->QueryResult = $result;
$rec =mssql_fetch_array($this->queryResult);
if(is_array($rec)){
return $rec; }
//$this->ER = "没有获取数据!";
return 0;
}
/**public
*  function: Free the Query Result
*  success return 1
*  failed: return 0
*/
function freeResult($result=""){
if($result != "") $this->QueryResult = $result;
return mssql_free_result($this->QueryResult);
} /**
*获取影响的的行数
*获取操作过的行数
**/
function num_rows($result=""){
if ($result != "") {
$this->queryResult = $result;
$row = @mssql_num_rows($this->queryResult);
return $row;
}
} /**
*数据库信息分页
*$Result 数据库操作
*/
function page($Result="",$Str,$Page=0,$ShowNum=5){
$back = array();//返回数据
if ($Result == "") {
$this->ER = "没有数据";
return  0;
}
$this->queryResult = $this->query($Str);
if($this->queryResult){
if($Page==""){
$nopa=0;
}else{
$nopa=$Page;
}
$maxNum=$this->num_rows($this->queryResult);
echo  $gg;
$k=0;
$i=0;
$dd=$this->fetch_array($this->queryResult);
if(!$dd){
echo "this is end";
}

while($dd&&$nopa<=$maxNum&&$i<$ShowNum){
if($nopa>=$maxNum)  $nopa=$maxNum;
mssql_data_seek($this->queryResult,$nopa);

$row=$this->fetch_array($this->queryResult);
if($row){
$nopa++;$i++;
$back[] = $row;
}
}
}
return $back; }
}//end class
?>

解决方案 »

  1.   

    http://blog.csdn.net/kingerq/archive/2004/09/29/120354.aspx
    这个分页类是能用的,你试试看。只要把那个数据库类变成mssql的就可以了。
      

  2.   

    分页函数. 错了.
    修改为: 
    要测试可把这下面的添加到上面的 class中
    <?php
    /**
    *数据库信息分页
    *$Result 数据库操作
    *str ==sql语句 
    *page ==第几页
    *showNum ==显示几页
    */
    function page($Str,$Page=0,$ShowNum=5){
    $back = array();//返回数据
    $maxNum = 0;
    if ($Str == "") {
    $this->ER = "没有数据";
    return  0;
    }
    $this->queryResult = $this->query($Str);
    if($this->queryResult){
    if($Page==""){
    $nopa=0;
    }else{
    $nopa=($Page-1)*$ShowNum;
    }
    $maxNum=$this->num_rows($this->queryResult);
    $k=0;
    $i=0;
    $dd=$this->fetch_array($this->queryResult); while($dd&&$nopa<=$maxNum&&$i<$ShowNum){
    if($nopa>=$maxNum)  $nopa=$maxNum;
    mssql_data_seek($this->queryResult,$nopa); $row=$this->fetch_array($this->queryResult); $nopa++;
    $i++;
    $back[] = $row; if ($nopa >=$maxNum) {
    break;
    }
    }
    }
    $this->pageNum = $maxNum;
    return $back;
    }
    /**
    *分页的html页码
    */
    function  pageHtml($DataNum=0,$Page=1,$ShowNum=3,$web,$Post=''){
    if ($DataNum == 0) {
    echo "没有要查询的数据";
    }else {
    if ($ShowNum<=0) {
    $ShowNum = 3;
    }
    if ($Page<=0) {
    $Page = 1;
    }
    if (empty($web)) {
    $web = "#";
    }
    $pageNum = ceil($DataNum/$ShowNum);
    if ($Page <= 1) {
    $top =  "首页<<";
    }else {
    $top = "<a href='".$web."?page=0&".$Post."'>首页<< </a>";
    }
    if ($Page !==1) {
    $upPage =  "<a href='".$web."?page=".($Page-1)."&".$Post."'>上一页</a>";
    }else {
    $upPage = "上一页";
    }
    if ($Page < $pageNum) {
    $downPage = "<a href='".$web."?page=".($Page+1)."&".$Post."'>下一页</a>";
    }else {
    $downPage = "下一页";
    }
    if ($Page == $pageNum) {
    $foot = ">>尾页";
    }else {
    $foot = "<a href='".$web."?page=".$pageNum."&".$Post."'> >>尾页</a>";
    } $back = <<<EOT

    共 $pageNum 页 &nbsp;&nbsp;
    第 $Page/$pageNum 页 $top &nbsp; $upPage &nbsp; $downPage  &nbsp; $foot
    EOT;
    return $back;
    }?>
      

  3.   

    分页代码,请参考
    <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>
      

  4.   


    /**
    *获取数据库连接
    */
    include("sql.class.php");
    $sql = new SQL($db_server,$db_userName,$db_password,$db_dataBase);
    $sql->db_connect();
    $query = "select * from table";
    /*分页*/
    $List = $sql->page($query,$page,$showNum);
    $pageHtml = $sql->pageHtml($sql->pageNum,$page,$showNum,"web地址","传递的参数");
    //
    $list是数据
    $pageHtml是翻页.html