<table width="95%" cellspacing="10">
            <? 
//////////////显示页号模块///////////////////////////////////////
$cols_num=2;    //列数
$rows_num=5;    //行数
$image_width="80";//图片格宽度
$width="50%";   //文字介绍每格宽度
$limit=$cols_num*$rows_num;       //每页显示总记录数
if($brand=="")
{
$sqlcount="select * from shopgoods where nclassid='$nclass' order by goodsno desc";
$pageherf="shownclass.php?class=$class&nclass=$nclass&pageno=";
}
else
{
$sqlcount="select * from shopgoods where nclassid='$nclass' and goodsbrand='$brand' order by goodsno desc";
$pageherf="shownclass.php?class=$class&nclass=$nclass&brand=$brand&pageno=";
}
$res=mysql_query($sqlcount);
$num=mysql_num_rows($res);      //总共记录条数(即符合条件商品总数)
$pagemax=ceil($num/$limit);     //总共页数(即最后页)
if($pagemax<$pageno){$pageno=$pagemax;}
if($pageno<'1'){$pageno='1';}
$qian=$pageno-1;
$hou=$pageno+1;
if($qian==0){$qian=1;}
if($hou>$pagemax){$hou=$pagemax;}
echo "<br> >> 共".$num."件商品 ";
echo "<a href=".$pageherf."1> 最前页 </a>";
echo "<a href=".$pageherf."$qian> 前一页 </a>";
echo "<a href=".$pageherf."$hou> 下一页 </a>";
echo "<a href=".$pageherf."$pagemax> 最后页 </a>";
echo "页次:<font color=red>".$pageno."</font>/".$pagemax."页 ";
echo $limit."件商品/页";
//////////显示物品模块/////////////////////////////////////////
$first_num=($pageno-1)*$limit; //每页第一条留言起始号码
$last_num=$limit*$pageno;      //每页最后一条留言起始号码
$t_limit=$limit;               //实际显示条数
$t_rows_num=$rows_num;         //实际行数
$t_cols_num=$cols_num;         //实际列数
if($pageno==$pagemax){$t_limit=$limit-($pageno*$limit-$num);}   //如果最后一页不满实际显示条数
if($pageno==$pagemax){$t_rows_num=ceil($t_limit/$cols_num);}    //如果最后一页不满实际显示行数
@mysql_data_seek($res,$first_num);//使指针指向每页第一条数据在库中的位置
for($j=0;$j<$limit;$j++){ $row[$j]=Mysql_fetch_row($res);}//每页数据都存入row[][]数组
$firse_rows_num=0;            //初始化每行第一条数据号
$last_rows_num=$firse_rows_num+$t_cols_num;  //初始化每行最后一条数据号
for($i=0;$i<$t_rows_num;$i++)
{
echo "<tr>";
  for($k=$firse_rows_num;$k<$last_rows_num;$k++)
  {
  if($row[$k][2]=="") break;
  echo "<td width=$image_width align=center valign=middle><a href=showproduct.php?class=$class&nclass=$nclass&goodsno=".$row[$k][12].">";
  if($row[$k][9]==""){ echo "[暂无图片]";}
  else{ echo "<img src=".$row[$k][9]." width=80 height=80 border=0 alt=详细信息>";}
  echo "</a>";
  echo "<br><br><a href=showproduct.php?class=$class&nclass=$nclass&goodsno=".$row[$k][12].">[详细信息]</a>";
  echo "<br><img src=../image1/shopcar.gif alt=订购></td>";
  echo "<td width=$width align=left valign=top><b>名称:</b><a href=showproduct.php?class=$class&nclass=$nclass&goodsno=".$row[$k][12].">".$row[$k][2]."</a>";
  echo "<br><font color=red><b>价格:</b>".$row[$k][6]."</font>";
  echo "<br><b>数量:</b>".$row[$k][5];
  echo "<br><b>简介:</b>".$row[$k][4]."</td>";
  }
$firse_rows_num=$last_rows_num;
$last_rows_num=$firse_rows_num+$t_cols_num;
echo "</tr>";
}
?>
</table>
刚做完的一个,还没来得及整理成函数!有点乱,不过功能还可以:)

解决方案 »

  1.   

    <?php  /*********************************************  
    TOracleViewPage v 2.0  
    日期:2000-9-23  分页显示Oracle数据库记录的类  
    更新日期:2000-10-19  
    增加显示TopRecord的功能,允许第一页显示的记录数与其它页不同。  作者:sharetop  
    email:[email protected]  ***********************************************/  
    class TOracleViewPage {  var $Table; //表名  
    var $MaxLine; //每页显示行数  var $LinkId; //数据库连接号  
    var $Id; //排序参考字段  var $Offset; //记录偏移量  
    var $Total; //记录总数  
    var $Number; //本页读取的记录数  
    var $TopNumber;//读新记录时实际取出的记录数  
    var $Result; //读出的结果  
    var $TopResult;//读新记录时的结果  var $TheFirstPage;//特殊指定第一页的链接  
    var $StartRec; //指定第二页的起始记录号  var $TPages; //总页数  
    var $CPages; //当前页数  var $TGroup;  
    var $PGroup; //每页显示的页号个数  
    var $CGroup;  var $Condition; //显示条件 如:where id='$id' order by id desc  
    var $PageQuery; //分页显示要传递的参数  
    //-------------------------------------  
    // 以下构造函数、析构函数及初始化函数  
    //-------------------------------------  //构造函数  
    //参数:表名、最大行数、分页参考的字段、每页显示的页号数  function TOracleViewPage($TB,$ML,$id){  
    global $offset;  $this->Table=$TB;  
    $this->MaxLine=$ML;  
    $this->Id=$id;  $this->StartRec=0;  
    if(isset($offset)) $this->Offset=$offset;  
    else $this->Offset=0;  $this->Condition="";  
    $this->TheFirstPage=NULL;  
    $this->PageQury=NULL;  
    }  //初始化  
    //参数:用户名、密码、数据库  
    function InitDB($user,$password,$db){  
    if (PHP_OS == "WINNT") $dllid=dl("php3_oci80.dll");  
    $this->LinkId = OCILogon($user,$password,$db);  
    }  //断开  
    function Destroy(){  
    OCILogoff($this->LinkId);  
    }  //-------------------------  
    // Set 函数  
    //-------------------------  //设置显示条件  
    //如:where id='$id' order by id desc  
    //要求是字串,符合SQL语法(本字串将加在SQL语句后)  function SetCondition($s){  
    $this->Condition=$s;  
    }  //设置每组的显示个数  
    function SetNumGroup($pg){  
    $this->PGroup=$pg;  
    }  
    //设置首页,如无则为NULL  
    function SetFirstPage($fn){  
    $this->TheFirstPage=$fn;  
    }  
    //设置起始记录,如无则取默认0  
    function SetStartRecord($org){  
    $this->StartRec=$org;  
    }  //设置传递参数  
    // key参数名 value参数值  
    // 如:setpagequery("id",$id);如有多个参数要传递,可多次调用本函数。  function SetPageQuery($key,$value){  
    $tmp[key]=$key; $tmp[value]=$value;  
    $this->PageQuery[]=$tmp;  
    }  //--------------------------------  
    // Get 函数  
    //--------------------------------  //取记录总数  
    function GetTotalRec(){  $SQL="SELECT Count(*) AS total FROM ".$this->Table." ".$this->Condition;  $stmt = OCIParse($this->LinkId,$SQL);  
    $bool = OCIExecute($stmt);  
    if (!$bool) {  
    echo "连接失败!";  
    OCILogoff($this->LinkId);  
    exit;  
    }  
    else {  
    OCIFetch($stmt);  
    $this->Total=OCIResult($stmt,1);  
    }  
    OCIFreeStatement($stmt);  
    }  //取总页数、当前页  
    function GetPage(){  
    $this->TPages=ceil($this->Total/$this->MaxLine);  
    $this->CPages=ceil($this->Offset/$this->MaxLine)+1;  
    }  //取总组数、当前组  
    function GetGroup() {  
    $this->TGroup=ceil($this->TPages/$this->PGroup);  
    $this->CGroup=ceil($this->CPages/$this->PGroup);  
    }  
    ?> 
     --------------------------------------------------------------------------------
     
     相关点评[0条]:  把这篇文章推荐给好友: 
    该文章还没有点评   
        
     --------------------------------------------------------------------------------
       
    发表评论: 
     
    您的大名: